2012-03-08 11 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のコンテナよりも背が高くなるのはちょっと奇妙です。 –

答えて

3

まず、Androidはの概念をサポートしていません「画面の解像度を。」画面サイズと画面(またはピクセル)の密度があります。密度独立ピクセル(dp)を既に使用しているので、あなたの質問は異なる画面サイズをサポートすることだと思います。

他の画面サイズをサポートする方法は、サイズ固有のリソースディレクトリを持つことです。たとえば、res/layout(おそらく上記のレイアウトファイルがある)に加えて、大きな画面をサポートするためにres/layout-largeを持つことができます。これに関する詳細は、ガイドトピックSupporting Multiple Screensと、それがリンクするページに記載されています。

ビューの正確なサイズを指定するのではなく、親を埋めるか、コンテンツをラップするようにすることもできます。それがあなたのレイアウトでうまくいかず、表示サイズを指定する必要がある場合は、res/valuesres/values-largeなどのフォルダにサイズを変えてサイズを定義できます。それぞれの値は、あなたが適切な値が与えられ、関連する寸法でdimens.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> 

:たとえば、res/layout/main.xmlにあなたのレイアウトを持つことができます。 res/values/dimens.xmlで(中サイズのスクリーン用):res/values-large/dimens.xmlにあなたが持っているでしょう

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

中:

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

そのように、あなただけの1つのレイアウトを必要とし、それはそれだろうディメンション値によってパラメータ化されるだろう画面サイズによって異なります。

+0

うわー、それは素晴らしい情報です! –

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

関連する問題