Android 國際化和螢幕適配

2021-09-12 04:40:28 字數 1956 閱讀 4614

一、國際化

1、語言的國際化

values/strings.xml 預設

values-zh-rcn/strings.xml 中文(簡體)

values-zh-rtw/strings.xml 中文(繁體)

values是預設的,如果存在你未定義的語言,會使用這個資料夾下的配置檔案。

values-zh-rcn 和 values-en-rus。 並在這兩個目錄中各建立乙個strings.xml。要實現不同語言和地區的國際化,這些配置選項包括語言代號和地區代號。 表示中文和中國的配置選項是 zh-rcn; 表示英文和美國的配置選項是en-rus. 表示zh 和 en 表示中文和英文;cn 和 us 表示中國和美國; 前面的r 是必須的。

2、的國際化

drawable-zh-hdip

drawable-zh-ldip

drawable-zh-mdip

其他的資源目錄也可以採用同樣的方式處理語言和地區的國際化,例如在res 目錄中建立兩個目錄: drawable-zh-rcn 和 drawable-en-rus,並在這兩個目錄中分別放乙個flag.jpg, 然後可以正常引用這個影象資源。

二、螢幕適配

首先:你需要在androidmanifest.xml檔案的元素如下新增子元素

android:anydensity="true" ,這一句對整個的螢幕都起著十分重要的作用,值為true,我們的應用程式當安裝在不同密度的手機上時,程式會分別載入hdpi,mdpi,ldpi資料夾中的資源。

相反,如果值設定為false,即使我們在hdpi,mdpi,ldpi資料夾下擁有同一種資源,那麼應用也不會自動地去相應資料夾下尋找資源,這種情況都是出現在高密度,以及低密度的手機上,比如說一部240×320畫素的手機,如果設定android:anydensity="false",android系統會將240 x 320(低密度)轉換為 320×480(中密度),這樣的話,應用就會在小密度手機上載入mdpi檔案中的資源。

總結一下:

第一:android:anydensity="true",系統會依據螢幕密度,自動去找對應的資料夾

第二:android:anydensity="false",

(1) 如果drawable-hdpi,drawable-mdpi,drawable-ldpi三個資料夾中有同一張資源的不同密度表示,那麼系統會去載入drawable_mdpi資料夾中的資源

(2) 如果drawable-hpdi中有高密度,其它兩個資料夾中沒有對應資源,那麼系統會去載入drawable-hdpi中的資源。

(3) 如果drawable-hdpi,drawable-mdpi中有資源,drawable-ldpi中沒有對應的資源,那麼系統會載入drawable-mdpi資料夾中的資源

注意上圖各種資料夾的不同表示。

drawable-hdpi 該即適用於橫屏,也適用於豎屏

drawable-land-hdpi,當螢幕為橫屏,且為高密度時,載入此資料夾中的資源

drawable-port-hdpi,當螢幕為豎屏,且為高密度時,載入此資料夾中的資源

要實現螢幕的適配,要針對不同的螢幕提供一套對應的介面。

layout-320x240

layout-480x320

注意解析度大的數字寫在前面!

三、樣式和主題

樣式:1.styles.xml檔案

<?xml version="1.0" encoding="utf-8"?>

使用:另一種繼承方式

在styles.xml中如下定義(如果要修改父樣式的某個屬性只要覆蓋就好了)

<?xml version="1.0" encoding="utf-8"?>

主題:<?xml version="1.0" encoding="utf-8"?>

可以寫成?android:windownotitle

?表示引用在當前主題當中定義過的資源的值。

注意:當樣式和主題衝突的時候,優先使用樣式!!

國際化 螢幕適配

國際化與螢幕適配 用了系統選單和sp儲存 1.螢幕適配 螢幕適配的感念 螢幕適配見名思意,說簡單點就是 自己給個比例,不過在任何裝置上都會按你這個比例來適配控制項的大小。使用步驟 1.自動整合sdk implementation com.zhy autolayout 1.4.5 2 extends ...

22 軟體國際化 螢幕適配 樣式與主題

layout.xml 在 values或者values en或者values en rus或者values zh 目錄下分別建立strings.xml 設定手機的語音為簡體中文就載入中文模式 實現文字國際化 在 drawable zh或者drawable en 目錄下分別放同名檔案則 實現突破國際化...

Android之國際化

國際化 1.記得我在 我的第乙個android 程式,基於intent 的元件互動機制 在分析r 檔案和文章最後,有透露過這種機制的原理和好處。很大程度上,為什麼我們能如此方便的實現國際化 解析度匹配等?主要就是得益於android 中這種獨特的資源管理方式。程式設計師的 可以不直接和資源發生關係。...