修正Android運用的款式的一些症結點解析。本站提示廣大學習愛好者:(修正Android運用的款式的一些症結點解析)文章只能為提供參考,不一定能成為您想要的結果。以下是修正Android運用的款式的一些症結點解析正文
android中可以自界說主題和作風。作風,也就是style,我們可以將一些同一的屬性拿出來,比喻說,長,寬,字體年夜小,字體色彩等等。可以在res/values目次下新建一個styles.xml的文件,在這個文件外面有resource根節點,在根節點外面添加item項,item項的名字就是屬性的名字,item項的值就是屬性的值,以下所示:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyText" parent="@android:style/TextAppearance"> <item name="android:textColor">#987456</item> <item name="android:textSize">24sp</item> </style> </resources>
style中有一個父類屬性parent, 這個屬性是解釋以後的這個style是繼續自誰人style的,固然這個style的屬性值中都包括誰人屬性中的,你也能夠修正繼續到的屬性的值,好了,style完成了,我們可以測試一下後果了,先寫一個結構文件,好比說一個TextView甚麼的,可以用到這個style的。這裡我就寫一個EditText吧。上面是結構文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/myEditText" android:layout_width="match_parent" android:layout_height="match_parent" android:text="測試一下下"/> </LinearLayout>
說完了style,上面就說說Theme,Theme跟style差不多,然則Theme是運用在Application或許Activity外面的,而Style是運用在某一個View外面的,照樣有差別的,好了,空話不多說,照樣看代碼吧。上面的是style文件:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyText" parent="@android:style/TextAppearance"> <item name="android:textColor">#987456</item> <item name="android:textSize">24sp</item> </style> <style parent="@android:style/Theme" name="CustomTheme"> <item name="android:windowNoTitle">true</item> <item name="android:windowFrame">@drawable/icon</item> <item name="android:windowBackground">?android:windowFrame</item> </style> </resources>
可以看到這裡寫了一個繼續自體系默許的Theme的主題,外面有3個屬性,這裡強調一下第三個屬性的值的成績,這裡打個問號,然後加後面的一個item的名字表現援用的是誰人名字的值,也就是誰人名字對應的圖片。
然後我們在Manifest.xml外面的Application外面加一個Theme的屬性,這個屬性對應的就是我們下面寫的Theme。
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme"> <activity android:name=".TestStyle" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
下面的代碼沒有題目欄,配景和fram都是我們設置的圖片。固然也能夠在代碼中設置主題:
package com.test.shang; import android.app.Activity; import android.os.Bundle; public class TestStyle extends Activity { @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(R.style.CustomTheme); setContentView(R.layout.test_style); } }