안드로이드 스타일과 테마 적용하기
프로그래밍/Android 2013. 8. 25. 22:44안드로이드 스타일과 테마 적용하기
스타일과 테마 적용하기
- 스타일 : 하나의 엘리멘트 단위로 적용할 수 있는 하나 또는 그 이상의 포맷팅 애트리뷰트의 집합
- 테마 : 액티비티 단위로 적용할 수 있는 하나 또는 그 이상의 포맷팅 애트리뷰트의 집합
1. res/value/styles.xml
<?xml version=”1.0” encoding=”utf-8”?>
<resources>
<style name="SpecialText" parent="@style/Text">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#008</item>
</style>
</resources>
prarent 속성
- 어떤 스타일로부터 상속을 받을 것인지를 지정
2. 스타일 적용하기
<EditText id="@+id/text1" style="@style/SpecialText"
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Hello, World!” />
Theme 선언
<?xml version=”1.0” encoding=”utf-8”?>
<resources>
<style name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowFrame">@drawable/screen_frame</item>
<item name="windowBackground">@drawable/screen_background_white</item>
<item name="panelForegroundColor">#FF000000</item>
<item name="panelTextColor">?panelForegroundColor</item>
<item name="panelTextSize">14</item>
<item name="menuItemTextColor">?panelTextColor</item>
<item name="menuItemTextSize">?panelTextSize</item>
</style>
</resources>
매니페스트에서 테마 설정
AndroidManifest.xml 파일내에서 설정
<application android:theme="@style/CustomTheme">
하나의 Activity 에만 테마를 적용할 경우
activity 에 built-in 테마 적용시
<activity android:theme="@android:style/Theme.Dialog">
Custom Theme 상속
<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
어댑터뷰를 사용한 데이터 바인딩
- 레이아웃을 데이터로 채움
- 사용자가 선택한 것을 처리
Spinner s1 = (Spinner)findViewById( R.id.spinner1);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this,
R.array.colors,
android.R.layout.simple_spinner_item
);
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter( adapter);
private static String[] PROJECTION = new String[]{
People._ID, People.NAME
};
Spinner s2 = (Spinner)findViewById(R.id.spinner2);
Cursor cur = mangedQuery( People.CONTENT_URI, PROJECTION, null, null);
SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(
this,
android.R.layout.simple_spinner_item,
cur,
new String[] { People.NAME },
new int[] { android.R.id.text1 }
);
adapter2.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);
s2.setAdapter(adapter2);
사용자가 선택한 것을 처리하는 방법
// 사용자 클릭이벤트를 처리할 객체를 생성한다.
pirvate OnItemClickListener mMessageClickedHandler = new OnItemClickListener(){
public void onItemClick( AdapterView parent, View v, int position, long id){
// Display a messagebox
Toast.makeText( mContext, "You've got an event", Toast.LENGTH_SHORT).show();
}
};
// 위에서 정의한 핸들러를 View 에 설정한다.
mHistoryView = (ListView)findViewById( R.id.history);
mHistoryView.setOnItemClickListener(mMessageClickedHandler);
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 리소스와 에셋 (0) | 2013.08.26 |
---|---|
안드로이드 레이아웃 (0) | 2013.08.25 |
안드로이드 노티피케이션 (0) | 2013.08.25 |
Android 커스텀 다이얼로그 생성 (0) | 2013.08.23 |
Android UI 메뉴 생성 (0) | 2013.08.23 |