私は現在 Android アプリケーションを開発しており、問題に直面しています。
アプリケーションをほとんどのデバイスに適応させる最も一般的な方法は、この問題を処理するために「layout-small」、「layout-normal」などの名前の別のフォルダーを作成することです。
ただし、これですべてが解決するわけではありません。Samsung S2 と Samsung S3 の両方で「通常の」画面サイズと見なされますが、「dp」を使用して高さを設定し、ほとんどのビューで使用しても、結果は大きく異なります。
xml をすべてのデバイスに完全に適合させるにはどうすればよいですか? 異なるデバイスごとに同じ xml ファイルを使用してもかまいませんが、どうすればよいですか?
S3 では適切にレンダリングされるが、S2 では削減される XML ファイルの例を次に示します (最後のボタンが部分的に表示されます)。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:useDefaultMargins="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Me"
android:id="@+id/textView"
style="@style/title_parameters"
android:layout_alignParentTop="true"
/>
<Button
android:id="@+id/btUpdateProfile"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="Update profile"
android:textColor="@drawable/text_color_selected_parameters"
style="@style/button_text"
android:background="@drawable/solo_button_parameters"
android:drawableRight="@drawable/table_view_cell_accessory_disclosure_indicator"
android:layout_below="@+id/textView"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Friends"
android:id="@+id/textView2"
style="@style/title_parameters"
android:layout_below="@+id/btUpdateProfile"/>
<Button
android:id="@+id/btFindFriends"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="Find friends"
android:textColor="@drawable/text_color_selected_parameters"
style="@style/button_text"
android:background="@drawable/solo_button_parameters"
android:drawableRight="@drawable/table_view_cell_accessory_disclosure_indicator"
android:layout_below="@+id/textView2"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Setting"
android:id="@+id/textView3"
style="@style/title_parameters"
android:layout_below="@+id/btFindFriends"/>
<Button
android:id="@+id/btSharing"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="Sharing"
android:gravity="top"
android:textColor="@drawable/text_color_selected_parameters"
style="@style/button_text"
android:background="@drawable/top_corner_button_parameters"
android:drawableRight="@drawable/table_view_cell_accessory_disclosure_indicator"
android:layout_below="@+id/textView3"/>
<Button
android:id="@+id/btPushNotification"
android:layout_width="fill_parent"
android:layout_height="50dp"
style="@style/button_text"
android:textColor="@drawable/text_color_selected_parameters"
android:text="Push notification"
android:layout_marginTop="-2dp"
android:background="@drawable/rectangle_button_parameters"
android:drawableRight="@drawable/table_view_cell_accessory_disclosure_indicator"
android:layout_below="@+id/btSharing"/>
<Button
android:id="@+id/btAutomation"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:gravity="bottom"
android:text="Automation"
style="@style/button_text"
android:background="@drawable/bottom_corner_button_parameters"
android:drawableRight="@drawable/table_view_cell_accessory_disclosure_indicator"
android:layout_below="@+id/btPushNotification"
android:textColor="@drawable/text_color_selected_parameters"
android:layout_marginTop="-2dp"/>
<Button
android:id="@+id/btDisconnect"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:text="Disconect"
android:layout_marginTop="20dp"
android:textColor="@drawable/text_color_selected_parameters"
style="@style/button_text"
android:background="@drawable/solo_button_parameters"
android:drawableLeft="@drawable/disconnect"
android:layout_below="@+id/btAutomation"
android:layout_marginBottom="30dp"/>
</RelativeLayout>
できるだけ早くスクリーンショットをアップロードします。
繰り返しますが、私の質問は次のとおりです。既存のデバイスごとに XML ファイルを作成するにはどうすればよいですか?