LayoutInflater 객체를 얻는 3가지 방법
LayoutInflater는 레이아웃 XML 파일로부터(XML로 작성된 layout 파일로부터)
그에 해당하는 View 객체를 획득하는데 유용하게 사용되는 클래스이다.
현재의 레이아웃 view에(setContentView()로 얻은 view에)
동적으로 특정 layout XML 파일의 내용을 view에 추가하고 싶을 때 유용하게 사용이 된다.
다음과 같이 3가지 방식으로 객체를 얻을수 있다.
- LayoutInflater inflater =
- LayoutInflater inflater = Activity.getLayoutInflater();
- LayoutInflater inflater = LayoutInflater.from(Context context);
내가 작성한 TextView를 AlertDialog에 채용해서 내가 원하는 형태로 AlertDialog를 보여주고자 할 경우
아래와 같이 LayoutInflater를 이용하면 된다.
alert_text.xml의 내용이 다음과 같을 경우
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spnTxt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="15dp"
android:textColor="#FF99FF"
android:textSize="20sp"
/>
이 레이아웃(alert_text.xml)을 AlertDialog의 view로 사용 할려면 LayoutInflater를 이용해서 다음과 같이 하면 된다.
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TextView spnTxt = (TextView)inflater.inflate(R.layout.alert_text, null);
spnTxt.setText("필요한 문자열...");
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setView(spnTxt);
adb.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//원하는 기능
}
)};
adb.show();
'Android' 카테고리의 다른 글
EditText의 값을 숫자로만 제한할 경우 xml에서 처리 법 (0) | 2015.11.03 |
---|---|
안드로이드에서 xml로 배열 선언하는 법 (0) | 2015.11.03 |
안드로이드 xml에 마크업 문자 넣기(글꼴 속성: 굵기, 이탤릭...) (0) | 2015.10.30 |
안드로이드 6.0에서 Apche의 HttpClient가 import안되는 문제 해결 (2) | 2015.10.28 |
안드로이드에서 외부 글꼴(font) 적용하기 (0) | 2015.10.27 |