Android 中的Theme和Style使用,还是比较简单的。
1、 首先在res/values/styles.xml的resource中定义三个样式,分别为:
<style name="TextView"> <item name="android:textSize">38sp</item> <item name="android:textColor">#128</item> <item name="android:shadowRadius">1.0</item> <item name="android:background">#035</item> </style> <style name="EditText"> <item name="android:shadowColor">@android:color/black</item> <item name="android:shadowRadius">1.0</item> <item name="android:background">#312</item> <item name="android:foreground">#432</item> <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> <item name="android:height">80dp</item> </style> <style name="Button"> <item name="android:background">@android:drawable/edit_text</item> <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> </style>
然后在res/layout文件下的activity_main.xml中的控件中引用刚才定义的Style。
<TextView android:id="@+id/textView1" style="@style/TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button1" style="@style/Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/editText1" android:layout_marginTop="18dp" android:text="@string/hello_world" /> <EditText android:id="@+id/editText1" style="@style/EditText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/textView1" android:layout_marginTop="19dp" android:ems="10" android:text="@string/hello_world" />
2、Android的Theme的使用
首先在res/values/themes.xml中定义Theme。
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Theme" parent="android:Theme.Light"> <item name="android:windowFullscreen">true</item> <item name="android:windowTitleSize">60dip</item> <item name="android:windowTitleStyle">@style/WindowTitle</item> <item name="android:background">#234</item> </style> <style name="WindowTitle"> <item name="android:singleLine">true</item> <item name="android:shadowColor">#658</item> <item name="android:shadowRadius">2.75</item> </style> </resources>
然后在AndroidManifest.xml中使用刚才定义的主题。
只要定义application的android:theme属性为style/Theme即可。
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme" > <activity android:name="com.example.themedemo.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
也可以用setTheme(R.style.Theme)来调用主题。效果图就不上传了。