Android 國際化,Android國際化

來源:互聯網
上載者:User

Android 國際化,Android國際化

由於公司的項目是投放 google play store , 所以要做國際化。國際化遇到的兩個大問題

  • 字串國際化
  • 配置樣式國際化

 

一:字串國際化

       解決這個問題很簡單,在res目錄下放不同國家的value檔案夾,在相應檔案夾裡的 strings.xml 檔案放對應的語言即可。比如

      

二:配置樣式國際化

      中國人的閱讀習慣是從左往右閱讀、阿拉伯國家的閱讀習慣是從右往左讀。所以同一個布局在不同的語言環境下,顯示的樣式是不一樣的。比如:

      預設情況下的布局

       

       

      阿拉伯語言情況下的布局

       

          例子中的布局很簡單,左邊是一個文本,文本的後面有一張圖片。 

          可以看到在阿拉伯語言環境下的頁面配置,文本跑到了螢幕的右側,而圖片卻不見了。(前面已經說過阿拉伯國家的閱讀習慣是從右往左的)

 解決方案:

  • 方案一:建立多個layout 檔案夾,從新布局
  • 方案二:Android  4.2系統之後,Google在Android中引入了RTL布局  

對於方案一,這個方法比較老了,而且幾乎要把所有的布局重寫一遍,所以推薦使用第二種方法。在Android  4.2系統之後,Google在Android中引入了RTL布局,更好了支援了由右到左文字布局的顯示,為了更好的相容RTL布局,google推薦使用MarginStart和MarginEnd來替代MarginLeft和MarginRight,這樣應用可以在正常的螢幕和由右到左顯示文字的螢幕上都保持一致的使用者體驗。

主要的屬性有

      android:layout_marginStart      android:layout_marginEnd      android:paddingStart      android:paddingEnd      android:layout_toStartOf      android:layout_toEndOf

 

用RTL寫的布局為:

 

 注意:

   在使用的時候RTL布局的時候,AndroidManifest.xml 中添加RTL的支援

 <application        android:name="com.yiba.sharewe.application.APP"        android:allowBackup="true"        android:hardwareAccelerated="false"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">

  

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.