日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android 用户界面---样式和主题(Styles and Themes)(二)

發(fā)布時(shí)間:2023/12/18 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 用户界面---样式和主题(Styles and Themes)(二) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

樣式屬性

理解了樣式是如何定義的之后,就需要學(xué)習(xí)<item>元素都定義了那些有效的樣式屬性類(lèi)型。你可能已經(jīng)熟悉了像layout_widthtextColor屬性,但是還有更多的可以使用的樣式屬性。

查找應(yīng)用于指定的View對(duì)象的最好的地方是對(duì)應(yīng)的類(lèi)參考,類(lèi)參考中會(huì)列出所有的XML所支持的屬性。例如,在TextView類(lèi)的XML屬性表中列出了所有的能夠用于定義TextView元素(或者它的一個(gè)子類(lèi))的樣式。在這個(gè)類(lèi)參考中列出了一個(gè)屬性:android:inputType,這個(gè)屬性通常被放在<EditText>元素中,如:

<EditText
? ?
android:inputType="number"
? ? ...
/>
可以通過(guò)給EditText元素創(chuàng)建以下的樣式定義來(lái)替代上例中android:inputType屬性聲明:

<stylename="Numbers">
?
<itemname="android:inputType">number</item>
? ...
</style>

因此對(duì)于布局的XML可以使用以下方法來(lái)聲明:

<EditText
? ?
style="@style/Numbers"
? ? ...
/>

這個(gè)簡(jiǎn)單的例子看上去有很多工作,但是當(dāng)你要添加更多的樣式屬性,并且要在各種地方復(fù)用這些樣式時(shí),就會(huì)省去很多工作。

對(duì)于所有可用的樣式屬性,請(qǐng)參考R.attr類(lèi),要記住的是不是所有的View對(duì)象都接受R.attr類(lèi)中定義的所有的相同的樣式屬性,因此,通常應(yīng)該給特定View對(duì)象指定其支持的樣式屬性。但是,對(duì)于應(yīng)用于一個(gè)View對(duì)象上的所有其不支持的樣式屬性,這個(gè)View對(duì)象只會(huì)使用它們所支持的那些屬性,并簡(jiǎn)單的把不支持的屬性忽略。

但是,有些樣式屬性不被任何View對(duì)象支持,只能用于主題。這些樣式屬性應(yīng)用與整個(gè)窗口,不真對(duì)任何View類(lèi)型。例如,能夠隱藏應(yīng)用標(biāo)題的主題樣式屬性,隱藏狀態(tài)欄或改變窗口背景的樣式屬性。這些樣式屬性不屬于任何View對(duì)象。要查看這些僅用于主題的樣式屬性,請(qǐng)參考R.attr類(lèi)中用window開(kāi)始的屬性。例如,windowNoTitlewindowBackground樣式只會(huì)影響使用了這樣的主題的Activity或應(yīng)用程序。

注意:在每個(gè)<item>元素的聲明中name屬性的前綴名不要忘記使用android:命名空間,如<item name=”android:inputType”>

UI應(yīng)用樣式和主題:

有以下兩種方式來(lái)設(shè)置樣式:

1.?????? 通過(guò)給XML中布局的一個(gè)View元素添加style屬性,來(lái)給一個(gè)單獨(dú)的View對(duì)象設(shè)置樣式;

2.?????? 或者,通過(guò)給Android清單文件中的<activity><application>元素添加android:theme屬性,來(lái)給整個(gè)Activity或應(yīng)用程序添加主題。

當(dāng)把一個(gè)樣式應(yīng)用于布局中單一的View對(duì)象時(shí),這個(gè)樣式定義的屬性只會(huì)用于這個(gè)View對(duì)象。如果樣式被用于一個(gè)ViewGroup對(duì)象,那么其中的View子對(duì)象不會(huì)繼承這個(gè)樣式屬性---樣式只會(huì)用于直接引用該樣式的元素。但是,通過(guò)樣式主題,可以把一個(gè)樣式應(yīng)用與所有的View元素。

要把樣式定義用于主題,就必須把這個(gè)樣式用于Android清單文件中的<activity><application>元素。這么做的時(shí)候,Activity或應(yīng)用程序中的每個(gè)View對(duì)象都會(huì)應(yīng)用它們所支持的屬性。例如,給一個(gè)Activity應(yīng)用之前定義的CodeFont樣式,那么這個(gè)Activity中支持這個(gè)文本樣式屬性的所有View元素都會(huì)使用這個(gè)樣式,不支持這個(gè)屬性的任何View對(duì)象會(huì)忽略它。

View對(duì)象應(yīng)用一個(gè)樣式

以下是給XML布局中的一個(gè)View對(duì)象設(shè)置樣式的方法:

<TextView
? ?
style="@style/CodeFont"
? ?
android:text="@string/hello"/>

這樣TextView元素將會(huì)使用CodeFont中定義的樣式。

注意:style屬性不使用android:命名空間前綴。

Activity或應(yīng)用程序應(yīng)用主題

要給應(yīng)用程序的所有Activity設(shè)置主題,就要在AndroidManifest.xml文件的<application>元素中包含android:them屬性,如:

<applicationandroid:theme="@style/CustomTheme">

如果要把一個(gè)主題只用于應(yīng)用程序中的一個(gè)Activity,那么就要在<activity>元素中添加android:theme屬性。

Android提供的其他內(nèi)置資源一樣,有一些系統(tǒng)預(yù)定義的主題可以使用,因此要避免自己編寫(xiě)它們。例如,可以使用Dialog主題,讓Activity的顯示效果像一個(gè)對(duì)話框:

<activityandroid:theme="@android:style/Theme.Dialog">

如果要讓背景透明,就使用透明的主題:

<activityandroid:theme="@android:style/Theme.Translucent">

如果要使用一個(gè)主題,但需要調(diào)整,那么可以把這個(gè)主題作為定制主題的父主題。例如,可以修改傳統(tǒng)的亮度主題,并添加自己想要的顏色:

<colorname="custom_theme_color">#b0b0ff</color>
<stylename="CustomTheme"parent="android:Theme.Light">
? ?
<itemname="android:windowBackground">@color/custom_theme_color</item>
? ?
<itemname="android:colorBackground">@color/custom_theme_color</item>
</style>

上例中需要的顏色是用獨(dú)立的資源提供的,這是因?yàn)?span style="font-family:'Times New Roman';">android:windowBackground屬性?xún)H支持對(duì)另一個(gè)資源的引用,跟android:colorBackground不一樣,它不能接收顏色值的設(shè)定。

現(xiàn)在可以在Android清單文件內(nèi)使用CustomTheme來(lái)替代Theme.Light

基于平臺(tái)版本來(lái)選擇主題

比較新的Android版本中附帶了一些應(yīng)用程序可以利用的主題,并在這些平臺(tái)上運(yùn)行時(shí),可能要使用這些主題,同時(shí)依然要兼容舊的版本。基于不同的平臺(tái)版本,通過(guò)選擇定制主題所使用的資源在不同的父主題之間的切換來(lái)達(dá)到兼容的目的。

例如,以下是用標(biāo)準(zhǔn)的平臺(tái)默認(rèn)的亮度主題聲明的一個(gè)簡(jiǎn)化的定制主題,它被放在res/values文件夾下的一個(gè)XML文件中(通常是res/values/styles.xml:

<stylename="LightThemeSelector"parent="android:Theme.Light">
? ?
...
</style>

當(dāng)應(yīng)用程序運(yùn)行在Android3.0API級(jí)別11)或更高的版本上時(shí),針對(duì)這個(gè)主題要使用比較新的holographic主題,所以,要在res/values-v11的文件夾下的一個(gè)XML文件中放入一個(gè)可選的主題聲明,把它的父主題設(shè)置為holographic主題:

<stylename="LightThemeSelector"parent="android:Theme.Holo.Light">
? ?
...
</style>

現(xiàn)在就可以像平常一樣使用這個(gè)LightThemSelector主題了,如果應(yīng)用程序運(yùn)行在Android3.0或更高的版本,就會(huì)自動(dòng)的切換到holographic主題。

R.styleable.Theme類(lèi)中可以找到用于主題的標(biāo)準(zhǔn)屬性列表。

有關(guān)提供可選資源的更多信息,如基于平臺(tái)版本或其他設(shè)備配置的主題和布局,可以查看“Providing Resources”文檔。

http://developer.android.com/guide/topics/resources/providing-resources.html

使用平臺(tái)樣式和主題

Android平臺(tái)提供了一個(gè)大的用于應(yīng)用程序的樣式和主題集合。可以在R.style類(lèi)中找到所有可用的樣式。要使用其中列出的樣式,就要用一個(gè)前綴來(lái)替換在樣式名中的所有下劃線。如,可以用”@android:style/Theme.NoTitleBar”來(lái)替代Theme_NoTitleBar

但是,R.style類(lèi)文檔沒(méi)有完整的描述樣式,因此查看實(shí)際的使用這些樣式和主題的源代碼會(huì)更好的幫助理解提供的每種樣式屬性。為了更好的引用Android的樣式和主題,請(qǐng)看下列源代碼:

1.??Android樣式(styles.xml

2.? Android主題(themes.xml

這兩個(gè)文件會(huì)通過(guò)例子幫助你設(shè)計(jì),例如,在Android主題的源代碼中,能夠找到<style name=”Theme.Dialog”>聲明。在這個(gè)定義中,可以看到所有的Android框架使用的對(duì)話框樣式屬性。

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/andriod-html5/archive/2012/03/31/2539436.html

總結(jié)

以上是生活随笔為你收集整理的Android 用户界面---样式和主题(Styles and Themes)(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费黄色三级网站 | 亚洲最大视频网 | 亚洲一区二区自偷自拍 | 在线观看高清视频 | 奇米影音 | 五月天黄色小说 | 91一区二区视频 | 肉色超薄丝袜脚交一区二区 | 午夜成人鲁丝片午夜精品 | 亚洲综合久久网 | 久久婷婷一区二区 | 天堂资源站 | 三级网站免费看 | 国产真实的和子乱拍在线观看 | 免费看黄色一级大片 | 首尔之春在线看 | 手机在线小视频 | 日韩一级 | 9191av| 四虎网站最新网址 | 久久久久在线观看 | 极品久久久 | 久久青青视频 | 黄色一级片在线看 | 潮见百合子| 成年性生交大片免费看 | 婷婷久久一区 | 欧美黄色激情视频 | 美女隐私无遮挡网站 | 一级肉体全黄毛片 | 天天看天天色 | 美女被c出白浆 | a√在线观看 | 天堂伊人 | 国产精品视频亚洲 | 色婷婷av一区二区三区之e本道 | 爱情岛论坛永久入址测速 | 亚洲成人三级 | 欧美色视频在线 | 国产精品福利片 | 人人看人人澡 | 91涩漫成人官网入口 | 搞逼综合网 | 视频在线| 免费欧美一级视频 | 尤物视频在线观看免费 | 中文区中文字幕免费看 | 岛国免费av| 91豆花视频 | 国模大胆一区二区三区 | 久久精品99国产国产精 | 中国三级视频 | 公交顶臀绿裙妇女配视频 | 日韩一级| 无码精品人妻一区二区三区漫画 | 动漫同人高h啪啪爽文 | 欧美一区二区三区成人精品 | 日韩女优在线 | 最新一区二区三区 | www.4虎| 日本一品道 | 日本免费黄色片 | 中文字幕一区二区三区5566 | 你懂的在线网站 | 亚洲永久精品国产 | 亚洲精品伦理 | 在线免费观看一区二区三区 | 日韩免费在线播放 | 日韩中文字幕不卡 | 欧洲毛片| 日本久久亚洲 | 一区精品在线观看 | 亚洲精品1区 | 成人小视频在线 | 夜夜操网址 | 国产精品国产三级国产aⅴ原创 | 91丨九色丨黑人外教 | 天天艹天天射 | 中文字幕欧美视频 | 成人久久久 | 国产一区资源 | 国产毛片久久久 | 开心激情综合网 | 日韩精品一区二区三区高清免费 | 久久精品国产亚洲7777 | 日韩在线视频网站 | 天天视频入口 | 亚洲色图25p | 人人爽人人做 | 亚洲射色| 免费裸体美女网站 | 久久久涩 | 亚洲激情视频一区 | 国产精品-区区久久久狼 | 欧美精品乱人伦久久久久久 | 一区二区网 | 亚洲国产成人精品女人久久久 | 免费av在线网站 | 天堂在线一区二区 |