我目前正在开发一个 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 文件?