0

私は最近、Android アプリのレイアウトを作成しようとしています。最初に実際のハンドセットでデバッグしたところ、レイアウトは問題ないように見えました。ただし、後でエミュレーターで実行しようとしましたが、異なる解像度で実行しました。すると、画面に収まりません。幅は問題ないように見えますが、高さはそうではありません。私のハンドセットの解像度は 480x800 です。アスペクト比と何か関係があるのでしょうか。私はすべての次元を dp で持っています。エミュレーターの解像度には問題ないように見えるものもあれば、そうでないものもあります。Android はそれ自体をスケーリングするべきではありませんか?

レイアウトファイルの外観は次のとおりです。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <RelativeLayout
  android:id="@+id/RelativeLayout1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <LinearLayout
       android:orientation="vertical"
       android:layout_width="0px"
          android:layout_height="0px"
          android:focusable="true"
          android:focusableInTouchMode="true"/>
  <EditText
   android:id="@+id/SetAddr"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/StartServer">
  </EditText> 
  <LinearLayout
   android:orientation="horizontal"
   android:id="@+id/LinearLayout2"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_below="@id/SetAddr"
   android:gravity="center_horizontal">
   <Button
    android:id="@+id/PingStart"
    android:layout_width="@dimen/StartButtonWidth"
    android:layout_height="@dimen/StartButtonHeight"
    android:layout_below="@id/SetAddr"
    android:text="@string/Start"
   />

   <Button
    android:id="@+id/PingStop"
    android:layout_width="@dimen/StopButtonWidth"
    android:layout_height="@dimen/StopButtonHeight"
    android:layout_below="@id/SetAddr"
    android:layout_toRightOf="@id/PingStart"
    android:text="@string/Stop"
   />   
  </LinearLayout>
  <TextView

   android:id="@+id/PingResults"
   android:layout_width="@dimen/ResultsViewWidth"
   android:layout_height="@dimen/ResultsViewHeight"
   android:layout_below="@id/LinearLayout2"
   android:textColor="#000"
   android:background="#FFF"
   android:layout_centerHorizontal="true"
   android:scrollbars="vertical"
   />
  <LinearLayout
   android:orientation="horizontal"
   android:id="@+id/LinearLayout3"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_below="@id/PingResults"
   android:gravity="center_horizontal">

   <Button 
    android:id="@+id/PingStartTrace"
    android:layout_width="@dimen/OptionButtonWidth"
    android:layout_height="@dimen/OptionButtonHeight"
    android:text="@string/Trace" >
   </Button>   
   <Button 
    android:id="@+id/PingStartLookup"
    android:layout_width="@dimen/OptionButtonWidth"
    android:layout_height="@dimen/OptionButtonHeight"
    android:layout_toRightOf="@id/PingStartTrace"
    android:text="@string/Lookup" >
   </Button>
   <Button 
    android:id="@+id/PingStartWebget"
    android:layout_width="@dimen/OptionButtonWidth"
    android:layout_height="@dimen/OptionButtonHeight"
    android:layout_toRightOf="@id/PingStartLookup"
    android:text="@string/WebGet" >
   </Button>
   <Button 
    android:id="@+id/PingStartOptions"
    android:layout_width="@dimen/OptionButtonWidth"
    android:layout_height="@dimen/OptionButtonHeight"
    android:layout_toRightOf="@id/PingStartWebget"
    android:text="@string/Options" >
   </Button>   
  </LinearLayout>   
 </RelativeLayout>    
</LinearLayout>

Dimens ファイル:

<resources>
    <dimen name="StartButtonHeight">50dp</dimen>
    <dimen name="StartButtonWidth">250dp</dimen>
    <dimen name="StopButtonHeight">50dp</dimen>
    <dimen name="StopButtonWidth">60dp</dimen>
    <dimen name="ResultsViewWidth">290dp</dimen>
    <dimen name="ResultsViewHeight">330dp</dimen>
    <dimen name="OptionButtonHeight">50dp</dimen> 
    <dimen name="OptionButtonWidth">75dp</dimen>       
</resources>

一部の解像度では、テキストビューの半分しか表示されず、その下にボタンが表示されません。

4

0 に答える 0