2017-02-20 69 views
1

正常,Android爲有4種不同的尺寸分別是選項;小,正常,大,xlarge。然而,正常的大小可以容納3.7" 設備4.95"如何正確分配佈局到一定大小的移動

我的問題是,如何只指定某些器件尺寸,在我的情況下,從3.7" 至4" ?

我試圖讓從預選賽部分正常和華電國際之間的組合,但後來意識到,有一些是在該尺寸範圍內的設備,但xhdpi

另一種方式來問我的問題是:我有兩個佈局,一個應該顯示對於具有3.7" 到4" 尺寸的設備和其他將在具有尺寸的裝置上顯示超過4"

+0

我不知道如果我理解正確的問題了嗎?你的意思是讓應用程序的佈局適合每種尺寸的屏幕或圖像,以適應每種尺寸的屏幕而不會丟失質量? – koksalb

+0

不,我對不同的屏幕尺寸有兩種不同的佈局,兩種佈局中都有相同的對象。但是對象放置在每個佈局中的不同位置 – Pomanh

+0

您在定義寬度和高度時是否使用了權重,或者只是使用簡單的PX DP SP等來定義它們的大小?一張圖片和XML代碼會很好,也許編輯,所以我們可以看到什麼似乎是錯誤的。 – koksalb

回答

1

可以嘗試這則:

具有x和y後你幾乎可以知道屏幕的大小,那麼你可以將onCreate方法上的不同XML文件充滿到c歪曲了應用程序的外觀。

只是一個問題是,當你在其中一個上定義了一些按鈕等時,它們可能不存在於另一個按鈕上。嘗試創建一個巨大的片段空間膨脹的活動,在它的片段,所以你不必寫裏面的OnCreate你的整個代碼,如果一個Java文件中的。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Display display = getWindowManager().getDefaultDisplay(); 
     Point size = new Point(); 
     display.getSize(size); 
     int width = size.x; 
     int height = size.y; 

     if(//some code here to calculate what size the screen is lets say +4") 
     { 
      setContentView(R.layout.layout1); 
     } 
     else if(//another block for lets say 3.7") 
     { 
      setContentView(R.layout.layout2);      
     } 
    } 

祝你好運希望工程

+1

我期待着找到一種使用佈局文件限定符的方法,你提供的方法可以工作,但這意味着我將爲每個佈局製作不同的佈局名稱,並在java文件中進行更改 – Pomanh