2012-03-08 38 views
0

我爲屏幕分辨率480x800設置佈局和滾動視圖。我怎樣才能兼容其他屏幕分辨率? 這是我的代碼。請幫幫我。如何根據屏幕分辨率調整佈局和滾動視圖

<RelativeLayout 
android:layout_width="fill_parent" 
android:layout_height="150dp" 
android:orientation="vertical" > 
<ScrollView android:id="@+id/ScrollView01" 
android:layout_width="fill_parent" 
android:layout_height="200dp" 
android:background="#86C3C6" > 
<TextView 
     android:id="@+id/tvHistory" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#86C3C6" 
     android:gravity="right" 
     android:focusable="true" 
     android:text="" 
     android:textColor="#FFFFFF" /> 
</ScrollView> 
</RelativeLayout> 

請幫我設置佈局,滾動視圖,並通過TEXTSIZE程序

+0

讓ScrollView比它的容器更高是有點奇怪的。 – 2012-03-08 05:43:57

回答

3

首先,Android不支持的概念「屏幕分辨率」。屏幕大小和屏幕(或像素)密度。由於您已經在使用與密度無關的像素(dp),因此我想您的問題是關於支持不同的屏幕尺寸。

支持其他屏幕尺寸的方法是具有特定於大小的資源目錄。例如,除了res/layout(您現在可能擁有上述佈局文件)之外,您還可以讓res/layout-large支持大屏幕。有關詳細信息在指導主題Supporting Multiple Screens及其鏈接的頁面中進行了介紹。

您也可能會考慮不爲您的視圖指定確切的大小,而是讓他們填充父項或包裝其內容。如果這不適用於您的佈局,並且您需要指定視圖大小,則可以將大小設置爲變量並在res/valuesres/values-large等文件夾中定義大小。例如,在res/layout/main.xml你可以有你的佈局:

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="@dimen/relative_layout_height" 
    android:orientation="vertical" > 
    <ScrollView android:id="@+id/ScrollView01" 
     android:layout_width="fill_parent" 
     android:layout_height="@dimen/scroll_view_height" 
     android:background="#86C3C6" > 
     <TextView 
      android:id="@+id/tvHistory" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#86C3C6" 
      android:gravity="right" 
      android:focusable="true" 
      android:text="" 
      android:textColor="#FFFFFF" /> 
    </ScrollView> 
</RelativeLayout> 

然後在每個文件夾中的值,你可以有一個dimens.xml文件,給予適當的值相關的尺寸。在res/values/dimens.xml(用於中等尺寸屏幕):

<dimen name="relative_layout_height">150dp</dimen> 
<dimen name="scroll_view_height">200dp</dimen> 

雖然res/values-large/dimens.xml你會:

<dimen name="relative_layout_height">250dp</dimen> 
<dimen name="scroll_view_height">300dp</dimen> 

這樣,你只需要一個佈局,它會被標註值進行參數化那會因屏幕尺寸而異。

+0

哇,這是很好的信息! – 2013-07-02 09:43:32

1
<RelativeLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" //would fill what ever size it wud be. 
android:orientation="vertical" > 
    <ScrollView android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" //would fill what ever size it wud be. 
    android:background="#86C3C6" > 
+0

感謝您的回覆。我將高度固定爲150 dp佈局,200 dp作爲高度滾動視圖。請爲我提供解決方案,通過程序 – sam 2012-03-08 05:43:43