Android developer fight-2

android資源(注意不能將資源文件直接保存到res 目錄,會導致編譯出錯)
對於應用強烈建議將資源與系統分離,包括代碼裏的字符串
res/row 系統不會優化的一切資源,原始文件保存,以原始input stream打開,使用資源ID調用Resources,openRawResource();
res/drowable  可繪製資源
res/animator  屬性動畫
res/anim  漸變動畫

res/values 可放置多種文件:約定文件夾  array.xml 放資源數組 color.xml 放顏色值  dimens.xml放尺寸 string.xml放字符串 style.xml放樣式

res/xml 各種xml配置文件,運行時通過調用Resources.getXml()讀取。

爲一組資源指定特定的資源配置符 文件夾命名格式:<resource_name>-<config_qualifier> 如: layout-sw600dp

配置限定符(限定符可追加多個用“-”分隔,追加多個時要按照表1順序放置,不然將會被忽略

表1 配置限定符
配置 限定符值 說明
MCC和MNC 如:mcc310-mnc004

移動國家代碼(MCC)後跟SIM卡中的移動網絡代碼(MNC)例:mcc310 指美國的任意運營商mcc310-mnc004指美國Verizon公司;

如果使用無限電手機(GSM手機),則mcc,mnc值來自於SIM卡;

語言和區域 如:en-rUS

前兩個字母代表語言+r後兩個字母代表地區

用戶更改系統設置中的語言引起配置變化事件

佈局方向 ldrtl   ldltr ldrtl佈局從右到左  :要爲應用啓用從右到左的佈局功能,必須將supportsRtl 設置爲 "true",並將targetSdkVersion 設置爲 17 或更高版本
smallestWidth

sw<N>dp

如:sw320dp

sw600dp

sw720dp

 
可用寬度 w<N>dp 如:w720dp w1024dp等等 指定資源應該使用的最小可用屏幕寬度,以 dp 爲單位,
可用高度 h<N>dp 指定資源應該使用的最小可用屏幕高度,
屏幕尺寸 small normal
large xlarge

:使用尺寸限定符並不表示資源僅適用於該尺寸的屏幕。 如果沒有爲備用資源提供最符合當前設備配置的限定符,則系統可能使用其中最合適的資源。

注意:如果所有資源均使用大於當前屏幕的尺寸限定符,則系統會使用這些資源,並且應用在運行時將會崩潰(例如,如果所有佈局資源均用 xlarge 限定符標記,但設備是標準尺寸的屏幕)

屏幕縱橫比 long  nolong long:寬屏 nolong:非寬屏 
圓形屏幕 round  notround notround :矩形屏幕
屏幕方向 land port port :縱向   land:橫向
uI模式

car:車載手機座上顯示

desk:桌面手機座上顯示

television:電視機顯示

appliance:無顯示屏

watch:手錶

如果用戶將設備放入手機座中,它有可能在應用生命週期中發生改變。 可以使用 UiModeManager啓用或禁用其中某些模式。
夜間模式 night  notnight 如果夜間模式停留在自動模式(默認),它有可能在應用生命週期中發生改變。在這種情況下,該模式會根據當天的時間進行調整。 可以使用 UiModeManager 啓用或禁用此模式
屏幕像素密度(dpi) ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi nodpi tvdpi anydpi :使用密度限定符並不表示資源僅適用於該密度的屏幕。 如果沒有爲備用資源提供最符合當前設備配置的限定符,則系統可能使用其中最匹配的資源。
觸摸屏類型 notouch  finger  
鍵盤可用性

keysexposed

keyshidden

keyssoft

keysexposed:具有可用鍵盤,無論軟硬鍵盤

keyshidden:硬鍵盤隱藏,且未啓動軟鍵盤

keyssoft:啓用軟件盤

如果只提供keysexposed資源未提供keyssoft資源,只要系統啓用軟件盤就會使用keysexposed,忽略鍵盤是否可見。

硬鍵盤插拔引起生命週期變化。

主要文本輸入法

nokeys

qwerty

12key

nokeys:沒有用於文本輸入的硬鍵盤

qwerty:標準硬鍵盤

12key:12鍵硬鍵盤

導航鍵可用性

naveexposed

navhidden

naveexposed:導航鍵可用

navhidden:導航不可以用(例如,位於密封蓋子後面)

如果用戶顯示導航鍵,它有可能在應用生命週期中發生改變

主要非觸摸導航方法

nonav

dpad

trackball

wheel

nonav:除了觸摸屏外,沒有其他導航設施

dpad:具有用於導航的方向鍵

trackball:具有用於導航的軌跡球

wheel:具有方向鍵

平臺版本(api級別) 如:v3 v4 v18 設備支持的 API 級別。

:有些配置限定符在不同平臺版本才添加的,在添加配置限定符會隱式添加平臺版本限定符。

限定符只能有一個值;不區分大小寫;不能嵌套文件夾使用;

創建別名資源(不是所有資源都支持創建別名,特別是xml/中的動畫資源,菜單資源,原始資源及其他未指定資源

可繪製資源別名示例:原文件icon_ca.png 放置於res/drowable 別名 icon  使用<bitmap> 標籤引用

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/icon_ca" />

佈局資源別名示例:使用<merge> 中的 <include>標籤

<?xml version="1.0" encoding="utf-8"?>
<merge>
    <include layout="@layout/main_ltr"/>
</merge>

簡單資源別名示例:直接將資源 ID 用作新資源的值即可

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello</string>
    <string name="hi">@string/hello</string>
</resources>

                                                                                                         ----寧遠筆記 2019.5.19

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章