我的 UI 非常适合我的虚拟设备,但是当我在手机上运行该应用程序时,UI 太宽,并且我丢失了设备的一部分 RHS。
我读了这篇文章;(https://developer.android.com/training/multiscreen/screensizes.html) 它谈到使用约束布局,但在我对我的 XML 进行大规模更改之前,任何人都可以看到任何明显的缺陷吗?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context="com.example.wbc.TabFragment0"
android:id="@+id/frag7"
android:padding="5dp">
<TextView
android:id="@+id/todayDate0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="25sp"/>
<TableLayout
android:id="@+id/tab_layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/todayDate0">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp">
<TextView
android:id="@+id/rink1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="1"
android:textSize="30sp" />
<Button
android:id="@+id/twelve7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7112"
android:text="12:00"
tools:ignore="OnClick" />
<Button
android:id="@+id/two7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7114"
android:text="14:00"
tools:ignore="OnClick" />
<Button
android:id="@+id/four7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7116"
android:text="16:00"
tools:ignore="OnClick" />
<Button
android:id="@+id/six7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7118"
android:text="18:00"
tools:ignore="OnClick" />
</TableRow>
</TableLayout>
</RelativeLayout>
请发布显示布局文件所需结果的图片,在这里我假设结果布局如图所示。
结果布局
我使用了可以在运行时调整视图的约束布局,这有助于设备根据任何设备屏幕尺寸调整布局
根据谷歌的约束布局
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:id="@+id/frag7"
android:padding="5dp">
<TextView
android:id="@+id/todayDate0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="25sp"
android:text="Today's Date 4.06.19"
app:layout_constraintEnd_toEndOf="@+id/tab_layout1"
app:layout_constraintStart_toStartOf="@+id/tab_layout1"
app:layout_constraintTop_toTopOf="parent" />
<TableLayout
android:id="@+id/tab_layout1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@+id/todayDate0"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.307"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/todayDate0">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp">
<TextView
android:id="@+id/rink1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="1"
android:textSize="30sp" />
<Button
android:id="@+id/twelve7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7112"
android:text="12:00"
tools:ignore="OnClick" />
<Button
android:id="@+id/two7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7114"
android:text="14:00"
tools:ignore="OnClick" />
<Button
android:id="@+id/four7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7116"
android:text="16:00"
tools:ignore="OnClick" />
<Button
android:id="@+id/six7R1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="bookRink"
android:tag="7118"
android:text="18:00"
tools:ignore="OnClick" />
</TableRow>
</TableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
感谢您的帖子,无论出于何种原因,它现在都可以正常工作,除了将APK重新加载到手机上之外,我没有进行任何更改....很抱歉浪费了你的时间。