2013-05-19 63 views
2

我有兩個相鄰的圖像。Android垂直分割屏幕的一小部分

當然,我使用「dp」作爲尺寸,在某些屏幕上,圖像變得很少,而在某些屏幕上不是。這是dp所做的。

我不知道我必須設置自己的尺寸。 50dp,75dp或100dp ...而且我也不知道如何做出決定。

我只是想給圖像的大小「屏幕大小/ 2」(因爲我有兩個圖像),也希望他們縮放它們的大小。我不能給高度。在任何分辨率下,它們的寬度必須設置爲「屏幕寬度/ 2」,高度與寬度成正比。

這裏是我想要的圖形:

instance

我該怎麼辦?

任何建議將不勝感激。

回答

0

使用android:layout_weight屬性linearLayout。在LinearLayout如果您設置兩個相同的 imageview然後它將佔用相同的空間。例

< LinearLayout 
........ 
....... 
android:orientation="horizontal"> 

    <ImageView 
     android:layout_width="0dip" 
     android:layout_weight="1" 
     ...... 
     ........./> 

    <ImageView 
     android:layout_width="0dip" 
     android:layout_weight="1" 
     ...... 
     ........./> 

</LinearLayout> 
+0

它說:「錯誤:錯誤:不允許整數類型(在值爲‘重心’‘1’) 「。 – JustWork

+0

對於android:layout_width =「0dip」說:「可疑大小:這將使視圖不可見,應與layout_weight一起使用」 – JustWork

+1

我相信@StinePike意思是說'layout_weight'而不是'gravity'。這也應該擺脫你所看到的警告。 –

1

如果你想設置你的圖像寬度爲screen size/2,請確保您使用的px代替dp,否則其結果將是在各種設備上不同,由於該設備的分辨率。 您可以通過以下代碼獲取像素寬度。

 DisplayMetrics dm = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(dm); 
     displayWidth = dm.widthPixels; 

之後,您可以使用這個設置您的圖像寬度。

 image_view.getLayoutParams().width = displayWidth /2; 

希望這能解決您的問題。

其他方式實現這一目標是使你的.xml文件的更改這樣

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="2" 
    android:orientation="horizontal" > 


    <ImageView 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     ...... 
     ........./> 

    <ImageView 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     ...... 
     ........./> 

    </LinearLayout> 
+0

所以,你認爲這是一個優雅的解決方案? – JustWork

+0

它的編程方法 –

+0

我的意思是用px代替dp根據我的知識可以用dp。 – JustWork