반응형
Android(안드로이드) 에서 dialog 내용 폰트 변경하기 |
개발환경 : JDK 1.5, eclipse-galileo, Android API 2.1, window XP |
dialog 에 폰트와 배경색등등을 입맛에 맞게 디자인 하고 싶은데
기본적으로 제공하는 dialog 생성 클래스로는 기본 옵션밖에 사용하지 못한다.
수정하고자 할때는 어떻게 해야할까? AlterDialog 의 setView 함수를 이용하는
것이다. 대부분의 위젯 클래스들은 자기가 원하는 형태로 만든 View 화면을
통채로 집어넣을 수 있다.
다이얼로그 클래스도 마찬가지 인데 View 화면을 다양한 레이아웃으로 입맛에
맞게 구성한후 추가 하면 그대로 구현이 된다. 아래의 예제도 그렇게 구성한 것이다.
기본다이얼로그로 구성했을 때의 화면과 소스이다. 이것을 보면 폰트와 배경색을
수정하고 싶은 욕구가 치밀어 올라올 것이다.
그럼 그 치밀어 올라오는 욕구를 해결해 보자.
우선 setView 할 xml 을 작성한다. 다이얼로그와 비슷한 형태로 만든다.
dlg_view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp"> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/app_icon" /> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="HelloAlert!"/> <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="10dip"/> </LinearLayout> </LinearLayout>
그리고 소스를 추가한다. 폰트를 수정한다던지 색깔을 바꾸는 등의
기능이다.// View 관련 데이타를 채운다 View view = this.getLayoutInflater().inflate(R.layout.dlg_view, null); // 제목 넣기 TextView txtTitle = (TextView) view.findViewById(R.id.title); txtTitle.setTextSize(20); txtTitle.setTextColor(Color.RED); txtTitle.setText(title); // 내용 넣기 TextView message = (TextView) view.findViewById(R.id.message); message.setTextSize(15); message.setText(content); AlertDialog.Builder alt = new AlertDialog.Builder(this); alt.setView(view) .setCancelable(false) .setPositiveButton("확인", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = alt.create(); alert.show();
적용한 결과는 아래 그림과 같다. xml 에 내용을 바탕으로 제목의 색깔도 변경하고
내용의 폰트로 줄였다. 다음에는 TextView 대신 WebView 를 집어넣어서 글자들의
세부적인 디자인도 변경할수 있는 방법에 대해 기술해 보도록 하겠다.반응형
'안드로이드 개발' 카테고리의 다른 글
Android(안드로이드)의 WebView 구현시 화면에 ProgressDialog로 로딩화면 구현하기 (1) | 2010.12.27 |
---|---|
스마트폰에서 웹화면 만들기 - 스크롤 없애기 (1) | 2010.12.24 |
android 특정 위치에 위젯 클릭시 색상 변환 (0) | 2010.12.03 |
안드로이드(android) 다이얼로그에 들어가는 text 폰트 조정 방법 (0) | 2010.11.10 |
안드로이드 마켓 배포를 위한 인증서 만들기 (1) | 2010.10.19 |
안드로이드 가로, 세로 모드 막기 (2) | 2010.10.17 |
안드로이드 어플 화면 캡쳐하기 (0) | 2010.10.15 |
안드로이드 단말기와 이클립스 연결 (6) | 2010.09.13 |