0

我目前正在开发一个 android 应用程序并面临一个问题。

我知道使您的应用程序适应大多数设备的最常见的事情是创建名为“layout-small”、“layout-normal”等的不同文件夹以处理此问题。

然而,这并不能解决所有问题:三星 S2 和三星 S3 都被认为是“正常”的屏幕尺寸,但给出的结果却大不相同,尽管我也使用“dp”来设置高度和我的大部分观点。

我怎样才能完美地为每个设备调整我的 xml?我不介意为每个不同的设备使用相同的 xml 文件,但我该怎么做呢?

这是一个 XML 文件的示例,它在 S3 上呈现 welle,但在 S2 上被削减(最后一个按钮部分显示)

<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

0

你能发布一些代码吗?会好起来的。没有定义固定大小的相对布局并正确使用其位置属性。(这是评论)

于 2013-09-05T15:52:29.050 回答