修改Android應用的樣式的一些關鍵點解析
android中可以自定義主題和風格。風格,也就是style,我們可以將一些統(tǒng)一的屬性拿出來,比方說,長,寬,字體大小,字體顏色等等??梢栽趓es/values目錄下新建一個styles.xml的文件,在這個文件里面有resource根節(jié)點,在根節(jié)點里面添加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" style="@style/MyText" android:text="測試一下下"/> </LinearLayout>
說完了style,下面就說說Theme,Theme跟style差不多,但是Theme是應用在Application或者Activity里面的,而Style是應用在某一個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>
可以看到這里寫了一個繼承自系統(tǒng)默認的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); } }
相關文章
Java(springboot) 讀取txt文本內容代碼實例
這篇文章主要介紹了Java(springboot) 讀取txt文本內容代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-02-02詳解springMVC兩種方式實現(xiàn)多文件上傳及效率比較
本篇文章介紹了springMVC兩種方式實現(xiàn)多文件上傳及效率比較。springMVC實現(xiàn)多文件上傳有兩種,一種是字節(jié)流的方式進行文件上傳,另外一種是使用springMVC包裝好的解析器進行上傳,有興趣的可以了解一下。2016-12-12SpringBoot中@ConditionalOnBean實現(xiàn)原理解讀
這篇文章主要介紹了SpringBoot中@ConditionalOnBean實現(xiàn)原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02詳解Springboot如何通過注解實現(xiàn)接口防刷
本文主要為大家介紹一種極簡潔、靈活通用接口防刷實現(xiàn)方式、通過在需要防刷的方法加上@Prevent?注解即可實現(xiàn)短信防刷,感興趣的可以了解一下2022-09-09