2016-11-18 104 views
0

我想在android設備上模擬微控制器屏幕(800x480)。屏幕內容是按鈕,標籤,圖形圖元(線,矩形,...),圖像。 在所有屏幕上如何處理佈局(放大/縮小)?Android:佈局比例尺

這裏是佈局的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:minWidth="800px" 
android:minHeight="480px" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/rootLayout" 
android:gravity="center"> 
<LinearLayout 
    android:orientation="horizontal" 
    android:minWidth="800px" 
    android:minHeight="480px" 
    android:layout_width="800px" 
    android:layout_height="480px" 
    android:id="@+id/mainContainer"> 
    <NSU.Droid.MyWindow 
     android:minWidth="714px" 
     android:layout_width="714px" 
     android:layout_height="match_parent" 
     android:id="@+id/mainWindow" 
     android:background="@drawable/window_shape" 
     android:layout_margin="1dp" /> 
    <LinearLayout 
     android:minWidth="86px" 
     android:layout_width="86px" 
     android:layout_height="match_parent" 
     android:background="@drawable/sidewindow_shape" 
     android:layout_margin="1px" 
     android:scrollbars="none"> 
    <ScrollView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <NSU.Droid.SideWindow 
      android:orientation="vertical" 
      android:minWidth="86px" 
      android:layout_width="86px" 
      android:layout_height="wrap_content" 
      android:id="@+id/sideWindow" 
      android:scrollbars="none" /> 
    </ScrollView> 
    </LinearLayout> 
</LinearLayout> 

NSU.Droid.MyWindow是RelativeLayout的。
如果使用px,模擬佈局太小,在我的設備屏幕上約爲1/3。將px更改爲dp不起作用 - 視圖太大,我可以看到大約2/3的佈局內容。
如何按比例縮放佈局和內容?

回答

0

使用match_parentandroid:layour_widthandroid:layout_height屬性以適合屏幕布局。 要使項目大小成比例,可以使用LinearLayout中的android:layout_weight屬性。

例如:

<LinearLayout 
    android:layout_width="match_parent" android:layout_height="match_parent" 
    android:orientation="horizontal"> 
    <FrameLayout android:layout_width="0dp" android:layout_height="match_parent" 
     android:background="#ff0000" 
     android:layout_weight="3" /> 
    <FrameLayout android:layout_width="0dp" android:layout_height="match_parent" 
     android:background="#0000ff" 
     android:layout_weight="1" /> 
</LinearLayout> 

如果您有LinearLayout的水平方向,你應該屬性0dp設置android:layout_width這個LinearLayout您要申請android:layout_weight屬性,該屬性的元素。如果您的LinearLayout的方向是垂直的,那麼android:layout_height屬性應設置爲0dp

上述XML應該是這樣的:

Weights

+0

內容是在運行時創建。我正在閱讀微控制器UI文件並在RelativeLayout中創建視圖運行時,指定像素大小。所以我有固定大小的佈局 - 800x480px(包含ImageViews,Buttons,TextViews)。現在我需要根據內容來調整這種佈局,以便按比例填充可用空間,或者更大或更小。這個怎麼做? – Bixit