0

私は現在 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 ファイルを作成するにはどうすればよいですか?

4

1 に答える 1