亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android文檔Training之設備適配

2019-11-06 09:43:20
字體:
來源:轉載
供稿:網友

語言適配

在android開發過程我們習慣或者說應該習慣把一些資源文件單獨拿出來放到資源文件夾中那個,比如說string,在不同地區顯示不同的語言,比如說我們把手機上的語言切換成西班牙語,這時我們的app就應該也切換到默認的西班牙語文件資源,這樣可以使得我們的app更加國際化。

我們知道,在android studio中新建一個工程的時候res文件夾下會有value文件夾,這個文件夾一般存放string style integer color dimen等資源文件,默認的value是以英語為首選語言的,例如

English (默認地點), /values/strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources> <string name="title">My application</string> <string name="hello_world">Hello World!</string></resources>

Spanish(西班牙), /values-es/strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources> <string name="title">Mi Aplicación</string> <string name="hello_world">Hola Mundo!</string></resources>

French(法國), /values-fr/strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources> <string name="title">Mon Application</string> <string name="hello_world">Bonjour le monde !</string></resources>

注意到它們的區別在于文件夾名稱不同和對應的語言分別為英語、西班牙語和法語.

資源文件的使用

java代碼中的使用示例

// Get a string resource from your app's ResourcesString hello = getResources().getString(R.string.hello_world);// Or supply a string resource to a method that requires a stringTextView textView = new TextView(this);textView.setText(R.string.hello_world);

xml中使用示例

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />

屏幕適配

android各種各樣的設備都有兩個屬性 size和density,我們都希望自己做的app能運行在各種各樣的手機上適配各種各樣的size和density.

android手機有四種size: small, normal, large, xlarge

android手機有四種density: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)

考慮到不同android設備的不同屬性,我們也是把不同的資源文件放到不同的資源文件夾中,這點和語言適配是基本類似的

創建不同的布局

創建不同的歌布局文件夾res/layout{-size}/. 其中size可以是small, normal, large, xlarge,考慮到屏幕方向(oritation)也是一種新的屏幕尺寸(寬高相反 portrait/landscape),于是我們又有了文件夾res/layout{-size}-land/.實際文件夾如下

MyPRoject/ res/ layout/ # default (portrait) main.xml layout-land/ # landscape main.xml layout-large/ # large (portrait) main.xml layout-large-land/ # large landscape main.xml

創建不同的bitmap

不同的density對應的名稱

xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75

這意味著如果你為xhdpi設備做了一張200*200的圖片,你也得為hdpi做一張150*150的圖片,為mdpi做一張100*100的圖片,為ldpi做一張75*75的圖片,這樣drawable資源文件夾示意圖如下:

MyProject/ res/ drawable-xhdpi/ awesomeimage.png drawable-hdpi/ awesomeimage.png drawable-mdpi/ awesomeimage.png drawable-ldpi/ awesomeimage.png

Android版本適配

新版本的android系統一般都有新的比較好的特性,這時你還需要兼容低版本的系統直到它們升級到最新系統.為了獲得最好的用戶體驗,你必須使用support library.它使得舊版本的系統可以使用最版本的特性.

在做app時,需要具體設置最小支持sdk版本及目標sdk版本(app->build.gradle)

android { compileSdkVersion 25 buildToolsVersion "25.0.1" defaultConfig { applicationId "huang.xiang.myapplication" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}

我們可以在運行時檢查當前系統的sdk版本,示例如下

private void setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); }}

注意:在android開發中對xml文件的解析是安全的,當某一屬性只在高版本的系統支持時,在低版本系統中解析遇到此屬性將會被直接忽視,不會造成app的crash,所以我們可以隨意的在xml中使用新版本的屬性。

使用系統的style樣式和Theme主題

使你的activity看起來像一個對話框:

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

使你的activity有一個透明的背景:

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

使用 /res/values/styles.xml中的自定義主題:

<activity android:theme="@style/CustomTheme">

把主題加到app中所有activity上,增加android:theme屬性給Manifest中的application節點

<application android:theme="@style/CustomTheme">
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频在线播放| 久久久久久久999| 欧美午夜精品久久久久久人妖| 欧美激情视频在线免费观看 欧美视频免费一| 成人av.网址在线网站| 国产在线观看精品| 亚洲精品xxxx| 亚洲欧美国产日韩中文字幕| 北条麻妃一区二区三区中文字幕| 午夜精品久久久久久久久久久久| 高清日韩电视剧大全免费播放在线观看| 日韩影视在线观看| 成人免费看黄网站| 久久成年人视频| 欧美日韩国产二区| 亚洲xxxxx性| 成人黄色免费在线观看| 国产精品高潮呻吟久久av黑人| 亚洲精品第一国产综合精品| 久久久久久久网站| 成人欧美一区二区三区黑人| 国产成人jvid在线播放| 日韩在线免费高清视频| 国产精品毛片a∨一区二区三区|国| 国产欧美日韩精品专区| 久久影视电视剧免费网站清宫辞电视| 夜色77av精品影院| 日韩中文娱乐网| 久精品免费视频| 亚洲欧美日韩中文视频| 最新国产精品亚洲| 亚洲毛片在线观看.| 欧美乱妇40p| 精品久久久av| 久久精品国产视频| 91免费观看网站| 久久人体大胆视频| 亚洲激情小视频| 欧美伦理91i| 欧美性受xxxx白人性爽| 在线午夜精品自拍| 亚洲免费伊人电影在线观看av| 成人精品aaaa网站| 91精品免费久久久久久久久| 日韩暖暖在线视频| 日韩av中文字幕在线| 成人深夜直播免费观看| 国产99久久精品一区二区| 欧美精品在线看| 久久视频这里只有精品| 国产综合色香蕉精品| 久久精品国产久精国产思思| 国色天香2019中文字幕在线观看| 91最新在线免费观看| 亚洲美女av电影| 国产精品一区av| 色诱女教师一区二区三区| 日韩av在线最新| 欧美噜噜久久久xxx| 亚洲国产97在线精品一区| 国产91ⅴ在线精品免费观看| 久久久久久久av| 国产欧美日韩亚洲精品| 国产精品中文字幕在线| 亚洲精品福利在线观看| 久久久人成影片一区二区三区| 久久精品视频一| 在线亚洲国产精品网| 国产精品九九九| 精品国产一区二区三区久久久狼| 色妞欧美日韩在线| 精品国产精品三级精品av网址| 在线播放日韩欧美| 国产精品嫩草影院一区二区| 在线观看国产精品91| 中文字幕日韩欧美在线| 亚洲精品电影久久久| 亚洲一区亚洲二区亚洲三区| 亚洲电影免费观看| 国产一区二区在线免费| 精品视频在线导航| 日本久久精品视频| 亚洲日韩中文字幕在线播放| 欧美成人精品xxx| 福利精品视频在线| 欧美黄色三级网站| 欧美精品日韩三级| 欧美日韩国产精品| 色系列之999| 亚洲天天在线日亚洲洲精| 国产一区二区精品丝袜| 最近2019年好看中文字幕视频| 国产精品欧美在线| 国产精品露脸av在线| 国产精品一区二区久久国产| 国外色69视频在线观看| 欧美一区视频在线| 欧美日韩在线视频观看| 欧美精品在线网站| 国产午夜精品理论片a级探花| 国产午夜精品全部视频播放| 国产精品久久久久久久久久免费| 4438全国成人免费| 久久亚洲综合国产精品99麻豆精品福利| 最近2019中文免费高清视频观看www99| 欧美色视频日本高清在线观看| 欧美高清videos高潮hd| 久久久久久成人| 国产精品一久久香蕉国产线看观看| 久久综合伊人77777| 久久男人资源视频| 欧美丰满片xxx777| 国产在线观看精品一区二区三区| 丝袜情趣国产精品| 国产成人拍精品视频午夜网站| 国产精品久久久久一区二区| 少妇高潮久久久久久潘金莲| 正在播放国产一区| 欧美视频在线观看免费网址| 久久久久久久久爱| 日韩精品在线观看网站| 国产一区二区丝袜| 视频一区视频二区国产精品| 中文字幕精品www乱入免费视频| 在线不卡国产精品| 色综合久久精品亚洲国产| 亚洲国产婷婷香蕉久久久久久| 97视频在线观看视频免费视频| 在线观看精品自拍私拍| 青草青草久热精品视频在线网站| 日本成人激情视频| 韩国视频理论视频久久| 日韩精品免费在线播放| 日韩精品免费综合视频在线播放| 亚洲性69xxxbbb| 亚洲第一色在线| 国产精品免费小视频| 欧美性猛交xxxx久久久| 8050国产精品久久久久久| 国产精品第一视频| 日韩免费看的电影电视剧大全| 精品日本高清在线播放| 影音先锋欧美在线资源| 国产国语videosex另类| 亚洲精品第一国产综合精品| 欧美视频免费在线观看| 亚洲成人亚洲激情| 黑人精品xxx一区| 亚洲精品自产拍| 九色91av视频| 国产一区二区三区在线| 57pao成人永久免费视频| 伊是香蕉大人久久| 欧美在线视频在线播放完整版免费观看| 欧美丰满片xxx777| 国产成人一区二区在线| 精品香蕉在线观看视频一| 午夜精品视频在线| 成人亲热视频网站| 欧美日韩人人澡狠狠躁视频| 亚洲成**性毛茸茸| 高清欧美一区二区三区| 亚洲第一网中文字幕| 成人黄色免费网站在线观看|