2014-03-19 67 views
0

在我的應用程序中,我想爲不同的移動設備設置不同的字體大小和填充。我使用這個方法在Android文檔中解釋。爲不同的屏幕設置不同的佈局

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

我用銀河S2和HTC一個用於測試, 似乎無論我創造什麼文件夾,它永諾使用xml從RES /佈局/

我加入這個清單中

<supports-screens android:smallScreens="true" 
     android:normalScreens="true" 
     android:largeScreens="true" 
     android:xlargeScreens="true" 
     android:anyDensity="true" /> 

我怎樣才能確保銀河和HTC將使用不同的XML?而不是目前他們都使用默認佈局的情況。

+0

銀河S2擁有正常大小的屏幕,這就是爲什麼它需要從/ RES /佈局/ – donfuxx

+0

佈局和HTC一個從那裏也需要? –

+0

HTC有一個xxhdpi分辨率。我想你必須準備一個xxlarge文件夾?或者用xxhdpi嘗試。 –

回答

0

首先你會粘貼此代碼在您的mainfest文件

<supports-screens 
    android:anyDensity="true" 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:resizeable="true" 
    android:smallScreens="false" 
    android:xlargeScreens="true" 
    /> 

<compatible-screens> 
    <screen 
     android:screenDensity="ldpi" 
     android:screenSize="small" /> 
    <screen 
     android:screenDensity="mdpi" 
     android:screenSize="normal" /> 
    <screen 
     android:screenDensity="xhdpi" 
     android:screenSize="large" /> 
    <screen 
     android:screenDensity="xhdpi" 
     android:screenSize="xlarge" />   
</compatible-screens> 

並刪除res文件夾的佈局文件,因爲它會自動使用默認屏幕all..So

的,那麼你可以爲所有的屏幕尺寸是這樣指定的值...

 res/values-small/my_layoutvalues.xml  // layout for small screen size 
     res/values-large/my_layoutvalues.xml  // layout for large screen size 
     res/values-xlarge/my_layoutvalues.xml  // layout for extra large screen size 
     res/values-xlarge-land/my_layoutvalues.xml //layout for extra large in landscape orientation 

這一切,如果你需要任何澄清評論...

+0

但是galaxy 2和htc one都使用佈局異常... –

+0

對於像這樣的錯誤,你可以在你的res文件夾中提到SW值...比如layout-sw420dp,layout-sw720dp,layout-sw600dp等 –

+0

你可以對這個問題進行分類,但Android只支持4,4.7,7,10英寸的屏幕,只有當你想設計其他然後這個屏幕你去動態調整隻... –

0

用於電話高達5'1" 屏幕

use layout folder only 
Note: use linear layout as parent layout and use weights as weight divide each screen 
in equal parts 

7" 片劑

layout-sw600dp-port //for portrait mode 
layout-sw600dp-land //for landscape mode 

10" 片劑

layout-sw720dp-port //for portrait mode 
layout-sw720dp-land //for landscape mode 
1

銀河S2使用文件夾:

layout-normal-hdpi 

HTC One使用的文件夾:

layout-normal-xxhdpi 

清單:

<supports-screens android:smallScreens="true" 
     android:normalScreens="true" 
     android:largeScreens="true" 
     android:xlargeScreens="true" 
     android:anyDensity="true" /> 
相關問題