使 RelativeLayout 适合所有屏幕尺寸
Make RelativeLayout to fit all screen size
我正在尝试修改我的相对布局以适应所有屏幕尺寸。我知道我的问题是我手动设置了屏幕上每个元素的边距,因为在 Android Studio 的编辑器上设置更容易,但显然,当我在另一个应用程序上尝试时设备元素乱七八糟。现在,我通过使用 "match_parent" 和 wrap_content 命令对其进行了修改,使其更加灵活,这是我在 Pixel C 上尝试时的结果:
问题出在我更换设备时,例如,如果我在 Galaxy Tab 上尝试,结果如下:
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/slidelinearlayout"
android:background="@drawable/background_main2">
<LinearLayout
android:id="@+id/upperLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="160dp"
android:layout_marginTop="140dp"
android:orientation="vertical">
<ImageView
android:id="@+id/slideimg"
android:layout_width="400dp"
android:layout_height="350dp"
android:layout_marginRight="150dp" />
<TextView
android:id="@+id/txttitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:layout_marginTop="20dp"
android:text="Senza nome"
android:textColor="@android:color/black"
android:textSize="40sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/upperTableHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="160dp"
android:text="Table Header here"
android:textColor="@android:color/holo_red_light"
android:textSize="30sp" />
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/t2"
android:layout_alignParentEnd="true" >
<TableRow
android:id="@+id/tr_item_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Flessibilità"
android:textColor="#030101"
android:textSize="30dp" />
<TextView
android:id="@+id/f_item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_2"
android:layout_width="202dp"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Fluidità"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/fl_item_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Originalità"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/o_item_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Elaborazione"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/el_item_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Titolo"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/t_item_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/upperLayout"
android:layout_alignParentRight="true"
android:layout_marginTop="30dp"
android:layout_marginRight="80dp"
android:orientation="vertical">
<TextView
android:id="@+id/lowerTableHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Table Header here"
android:textColor="@android:color/holo_red_light"
android:textSize="30sp" />
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tl_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/tl">
<TableRow
android:id="@+id/tr_item_6"
android:layout_width="222dp"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/t1_item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Tempo di reazione"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/tempo_item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/t2_item_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Tempo di completamento"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/tempo_item_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/n_cancellature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Numero cancellature"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/n_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
</TableLayout>
</LinearLayout>
您可以使用 SDP 为不同的设备设置控件或文本的大小。
一个 android SDK,它提供了一个新的大小单位 - sdp(可扩展的 dp)。此尺寸单位随屏幕尺寸缩放。它可以帮助 Android 开发人员支持多屏幕。
您可以在 res 中创建不同的布局目录
和专为该屏幕尺寸设计ui
Android 自动检测必须使用的尺寸
like : 布局(这是默认设置,适用于所有设备)
layout-sw600(适用于 7 和 8 英寸屏幕)
layout-sw720(适用于 10、11 和 12 屏幕)
更多信息观看this
我正在尝试修改我的相对布局以适应所有屏幕尺寸。我知道我的问题是我手动设置了屏幕上每个元素的边距,因为在 Android Studio 的编辑器上设置更容易,但显然,当我在另一个应用程序上尝试时设备元素乱七八糟。现在,我通过使用 "match_parent" 和 wrap_content 命令对其进行了修改,使其更加灵活,这是我在 Pixel C 上尝试时的结果:
问题出在我更换设备时,例如,如果我在 Galaxy Tab 上尝试,结果如下:
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/slidelinearlayout"
android:background="@drawable/background_main2">
<LinearLayout
android:id="@+id/upperLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="160dp"
android:layout_marginTop="140dp"
android:orientation="vertical">
<ImageView
android:id="@+id/slideimg"
android:layout_width="400dp"
android:layout_height="350dp"
android:layout_marginRight="150dp" />
<TextView
android:id="@+id/txttitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:layout_marginTop="20dp"
android:text="Senza nome"
android:textColor="@android:color/black"
android:textSize="40sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/upperTableHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="160dp"
android:text="Table Header here"
android:textColor="@android:color/holo_red_light"
android:textSize="30sp" />
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/t2"
android:layout_alignParentEnd="true" >
<TableRow
android:id="@+id/tr_item_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Flessibilità"
android:textColor="#030101"
android:textSize="30dp" />
<TextView
android:id="@+id/f_item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_2"
android:layout_width="202dp"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Fluidità"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/fl_item_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Originalità"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/o_item_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Elaborazione"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/el_item_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/item_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Titolo"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/t_item_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/upperLayout"
android:layout_alignParentRight="true"
android:layout_marginTop="30dp"
android:layout_marginRight="80dp"
android:orientation="vertical">
<TextView
android:id="@+id/lowerTableHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Table Header here"
android:textColor="@android:color/holo_red_light"
android:textSize="30sp" />
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tl_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/tl">
<TableRow
android:id="@+id/tr_item_6"
android:layout_width="222dp"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/t1_item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Tempo di reazione"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/tempo_item_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/t2_item_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Tempo di completamento"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/tempo_item_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
<TableRow
android:id="@+id/tr_item_8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/table_row_bg"
android:padding="2dp">
<TextView
android:id="@+id/n_cancellature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingRight="10dp"
android:text=" Numero cancellature"
android:textColor="#070404"
android:textSize="30dp" />
<TextView
android:id="@+id/n_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/table_cell_bg"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#070404"
android:textSize="30dp" />
</TableRow>
</TableLayout>
</LinearLayout>
您可以使用 SDP 为不同的设备设置控件或文本的大小。
一个 android SDK,它提供了一个新的大小单位 - sdp(可扩展的 dp)。此尺寸单位随屏幕尺寸缩放。它可以帮助 Android 开发人员支持多屏幕。
您可以在 res 中创建不同的布局目录
和专为该屏幕尺寸设计ui
Android 自动检测必须使用的尺寸
like : 布局(这是默认设置,适用于所有设备) layout-sw600(适用于 7 和 8 英寸屏幕) layout-sw720(适用于 10、11 和 12 屏幕)
更多信息观看this