修改Android應(yīng)用的樣式的一些關(guān)鍵點(diǎn)解析
android中可以自定義主題和風(fēng)格。風(fēng)格,也就是style,我們可以將一些統(tǒng)一的屬性拿出來,比方說,長,寬,字體大小,字體顏色等等??梢栽趓es/values目錄下新建一個(gè)styles.xml的文件,在這個(gè)文件里面有resource根節(jié)點(diǎn),在根節(jié)點(diǎn)里面添加item項(xiàng),item項(xiàng)的名字就是屬性的名字,item項(xiàng)的值就是屬性的值,如下所示:
<?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中有一個(gè)父類屬性parent, 這個(gè)屬性是說明當(dāng)前的這個(gè)style是繼承自那個(gè)style的,當(dāng)然這個(gè)style的屬性值中都包含那個(gè)屬性中的,你也可以修改繼承到的屬性的值,好了,style完成了,我們可以測試一下效果了,先寫一個(gè)布局文件,比如說一個(gè)TextView什么的,可以用到這個(gè)style的。這里我就寫一個(gè)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" style="@style/MyText" android:text="測試一下下"/> </LinearLayout>
說完了style,下面就說說Theme,Theme跟style差不多,但是Theme是應(yīng)用在Application或者Activity里面的,而Style是應(yīng)用在某一個(gè)View里面的,還是有區(qū)別的,好了,廢話不多說,還是看代碼吧。下面的是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>
可以看到這里寫了一個(gè)繼承自系統(tǒng)默認(rèn)的Theme的主題,里面有3個(gè)屬性,這里強(qiáng)調(diào)一下第三個(gè)屬性的值的問題,這里打個(gè)問號,然后加前面的一個(gè)item的名字表示引用的是那個(gè)名字的值,也就是那個(gè)名字對應(yīng)的圖片。
然后我們在Manifest.xml里面的Application里面加一個(gè)Theme的屬性,這個(gè)屬性對應(yīng)的就是我們上面寫的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>
上面的代碼沒有標(biāo)題欄,背景和fram都是我們設(shè)置的圖片。當(dāng)然也可以在代碼中設(shè)置主題:
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); } }
相關(guān)文章
Java(springboot) 讀取txt文本內(nèi)容代碼實(shí)例
這篇文章主要介紹了Java(springboot) 讀取txt文本內(nèi)容代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02詳解springMVC兩種方式實(shí)現(xiàn)多文件上傳及效率比較
本篇文章介紹了springMVC兩種方式實(shí)現(xiàn)多文件上傳及效率比較。springMVC實(shí)現(xiàn)多文件上傳有兩種,一種是字節(jié)流的方式進(jìn)行文件上傳,另外一種是使用springMVC包裝好的解析器進(jìn)行上傳,有興趣的可以了解一下。2016-12-12SpringBoot中@ConditionalOnBean實(shí)現(xiàn)原理解讀
這篇文章主要介紹了SpringBoot中@ConditionalOnBean實(shí)現(xiàn)原理,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02詳解Springboot如何通過注解實(shí)現(xiàn)接口防刷
本文主要為大家介紹一種極簡潔、靈活通用接口防刷實(shí)現(xiàn)方式、通過在需要防刷的方法加上@Prevent?注解即可實(shí)現(xiàn)短信防刷,感興趣的可以了解一下2022-09-09