..제일 어려워.... 언제 쓰는지? 리스트 안에 들어가 있는 각각의 데이터가 같은 모양이 반복되면서 보이는 경우 (예. 전화번호부) 무엇인지? 여러 개의 아이템을 위, 아래로 스크롤 하며 그 안에 들어가 있는 각각의 아이템을 순서대로 보여주는 역할 각각의 아이템이 독립적인 뷰로 만들어지게 되고, 이 뷰들이 모여있는 형태를 유지해주는 것이 리스트뷰 각각의 아이템을 위한 뷰도 어댑터에서 만들어주기 때문에 리스트뷰는 어댑터의 getView 메소드를 호출하여 뷰 객체를 반환받은 후 화면에 보여준다. 1. 아이템을 위한 XML 레이아웃 정의하기 - 리스트뷰에 들어갈 각 아이템의 레이아웃을 XML로 정의함 2. 아이템을 위한 뷰 정의하기 - 리스트뷰에 들어갈 각 아이템을 하나의 뷰로 정의, 이 뷰는 여러 개의 뷰..
인플레이션 : XML 레이아웃에 정의된 내용이 메모리에 객체화되는 과정 = XML 레이아웃 파일 안에 들어있는 뷰 태그들을 이용해 뷰 객체를 메모리에 만드는 과정 setContentView( ) 메소드의 역할 - 화면에 나타낼 뷰를 지정하는 역할 - XML 레이아웃의 내용을 메모리 상에 객체화하는 역할 - 액티비티 레이아웃 XML만 인플레이션 됨 그래서 레이아웃을 상속해서 만든 뷰는 화면 배치가 필요하기 때문에 XML 레이아웃을 만들고 그 레이아웃을 소스파일에 설정하게 된다. 레이아웃 인플레이터 객체는 시스템 서비스 객체로 제공되기 때문에 getSystemService 메소드를 이용해 참조한다. 그리고 뷰 객체가 있으면 그 뷰 객체에 인플레이션한 결과물을 설정한다. XML 레이아웃의 이름이 sub1.xm..
- 뷰의 상속 - 비트맵 버튼 버튼의 기능을 .java로 따로 아예 구현을 해서 상속하는 식으로 구현한다. 이때 사용되는 invalidate 메소드는 화면을 다시 그려주는 메소드로, 화면을 갱신할 때 사용한다. 버튼을 상속해서 비트맵 버튼을 만들 때, java class 파일 생성 시 Superclass로 AppCompatButton를 상속받아 만들면 된다. BitmapButton.java package com.example.mybutton; import android.content.Context; import android.graphics.Color; import android.util.AttributeSet; import android.view.MotionEvent; import androidx.ap..
MainActivity.java package com.example.mydialog; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.AlphabetIndexer; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.google.android.material.s..
스낵바 api 넣는 법 상단의 File>Project Structure>Dependencies>app 에서 'com.android.support:design:29.0.0' 추가하기 activity_main.xml toast.xml toastborder.xml MainActivity.java package com.example.mytoast; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import an..
activity_main.xml my_selector.xml MainActivity.java package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.GestureDetector; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivi..
activity_main.xml 카카오톡 모양의 버튼을 main xml 파일에 넣고, 버튼을 눌렀을 때 카카오톡 앱을 열게 하기 위해 onClick 함수를 걸어준다. MainActivity.java public void onKakao(View v) { if(getPackageList()) { Intent intent = getPackageManager().getLaunchIntentForPackage("com.kakao.talk"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }else{ String url = "market://details?id="+"com.kakao.talk"; Intent i = new Intent..
... ScrollView 내의 child 인 LinearLayout 의 height 는 wrap_content 로 해야하는 것에 주의해야한다. ScrollVeiw 는 현재 화면보다 더 길 수도 있는 height 를 가지는 아이템을 위한 것이니, 그 안의 child 는 wrap 으로 height 를 가지게 해야한다. 참고로 스크롤뷰는 화면 전체가 아니라 일부 뷰(텍스트뷰, 이미지뷰) 등만 감쌀 수도 있는데, 그럴 경우 감싸진 부분에만 스크롤 뷰가 생긴다. 위와 같이, /스크롤뷰> 로 xml을 짜면 디바이스 화면 상에서 버튼은 상단에 고정되어 보이고 텍스트 부분만 스크롤이 생긴다. (텍스트 스크롤 내려도 버튼은 상단에 고정되어있다는 뜻)
쉐이프 드로어블 : 간단히 말해 XML로 도형을 그릴 수 있도록 하는 것 /res/drawable 폴더 안에 XML 파일을 만들고 최상위 태그를 로 바꾸면 도형 하나를 정의할 수 있다. - 의 속성 ) rectangle, oval, line, ring 등 - : shape 태그 안에 넣어서 테두리 선의 속성 지정 - : 도형의 안쪽 채울 때 - : 배경 그라데이션 주기 : 하나의 XML 파일에 여러 그래픽 넣기 activity_main.xml linear_border.xml thumbnail_base.xml rect_shape.xml
- Total
- Today
- Yesterday
- 터치리스너
- 프래그먼트매니저
- ios
- objc
- 스낵바설정
- Objective-C
- 쉐이프드로어블
- 알림대화상자
- 상태드로어블
- 제스처디텍터
- 다이얼연결
- CaseIterable
- 인플레이터
- 비트맵버튼
- 뷰페이저
- 표현패턴
- 페이저타이틀스트립
- 어댑터
- 안드로이드
- prepareforreuse
- 전화연결하기
- 데이터
- 카카오톡열기
- swift
- 프래그먼트
- subscript
- 부가데이터
- 액션바
- 전화걸기연결
- allcases
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |