定義樣式和主題 res/values/style.xml
<?xml version="1.0" encoding="utf-8"?><resources> <style name="mystyle1"> <item name="android:textColor">#ff0000</item> <item name="android:textSize">10sp</item> <item name="android:padding">5dip</item> </style> <style name="mystyle2" parent="mystyle1"> <!-- 重寫父類的樣式 --> <item name="android:textSize">20sp</item> <item name="android:background">#ffff00</item> </style> <style name="mytheme"> <item name="android:background">@drawable/ic_launcher</item> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style></resources>
res/values/string.xml
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, StyleAndThemeActivity!</string> <string name="app_name">樣式和主題</string> <string name="tv">倫敦奧運會</string> </resources>
布局檔案layout/main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tv" style="@style/mystyle1"/> <!--使用樣式 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tv" style="@style/mystyle2" /> <!--使用樣式 --></LinearLayout>
java代碼:
import android.app.Activity;import android.os.Bundle;public class StyleAndThemeActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //設定主題 setTheme(R.style.mytheme);//這句代碼一定要在super.onCreate(savedInstanceState);之前 /* * 在AndroidManifest.xml設定主題 * <application>元素中添加 android:theme="@style/mytheme" 這個主題將使用於所有activities * 在<activity>元素中添加 android:theme="@style/mytheme" 將這個主題用於指定的activitie * 主題和樣式的區別是 :樣式用於某個控制項中,而主題用在某個activity甚至整個應用中 */ super.onCreate(savedInstanceState); setContentView(R.layout.main); }}