Android 每个屏幕上高度不变的布局
Android layout with constant height on each screen
我创建了 Android 布局,如下所示。它显示一个带有 2 个按钮的小工具栏。工具栏位于底部。问题是在较小的屏幕上,工具栏和按钮的高度比在较大的屏幕上大得多,这是有道理的,因为我使用的是 dp
值。我必须如何更改它,以便工具栏在高度更大和更小的屏幕上视觉上始终具有相同的大小?这意味着如果在大屏幕上高度为 1cm,那么在小屏幕上也应该为 1cm。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal">
<View
android:id="@+id/keyboard_toolbar_line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/buttonsLayout"
android:layout_marginBottom="5dp"
android:background="#c0c0c0"/>
<RelativeLayout
android:id="@+id/buttonsLayout"
android:orientation="horizontal"
android:alpha="0.5"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/privacyButton"
android:layout_width="100dp"
android:layout_height="35dp"
android:gravity="center"
android:clickable="true"
android:focusable="true"
android:layout_marginStart="30dp"
android:layout_alignParentStart="true">
<ImageView
android:id="@+id/privacyButtonImage"
android:layout_width="25dp"
android:layout_height="25dp"
android:scaleType="fitXY"
android:clickable="false"
android:focusable="false"
android:src="@drawable/ic_lock_open_light_24dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ratingButton"
android:layout_width="100dp"
android:layout_height="35dp"
android:gravity="center"
android:clickable="true"
android:focusable="true"
android:layout_marginEnd="30dp"
android:layout_alignParentEnd="true">
<ImageView
android:id="@+id/ratingButtonImage"
android:layout_width="25dp"
android:layout_height="25dp"
android:scaleType="fitXY"
android:clickable="false"
android:focusable="false"
android:src="@drawable/ic_star_gray_24" />
</LinearLayout>
</RelativeLayout >
</RelativeLayout >
为此,您需要根据值文件夹中的 dimen
设置视图高度。
使用那个 dimen
值你可以存档这个东西。
否则,您可以使用此库,它将根据设备屏幕尺寸和分辨率
提供 dp
值
我创建了 Android 布局,如下所示。它显示一个带有 2 个按钮的小工具栏。工具栏位于底部。问题是在较小的屏幕上,工具栏和按钮的高度比在较大的屏幕上大得多,这是有道理的,因为我使用的是 dp
值。我必须如何更改它,以便工具栏在高度更大和更小的屏幕上视觉上始终具有相同的大小?这意味着如果在大屏幕上高度为 1cm,那么在小屏幕上也应该为 1cm。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal">
<View
android:id="@+id/keyboard_toolbar_line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/buttonsLayout"
android:layout_marginBottom="5dp"
android:background="#c0c0c0"/>
<RelativeLayout
android:id="@+id/buttonsLayout"
android:orientation="horizontal"
android:alpha="0.5"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/privacyButton"
android:layout_width="100dp"
android:layout_height="35dp"
android:gravity="center"
android:clickable="true"
android:focusable="true"
android:layout_marginStart="30dp"
android:layout_alignParentStart="true">
<ImageView
android:id="@+id/privacyButtonImage"
android:layout_width="25dp"
android:layout_height="25dp"
android:scaleType="fitXY"
android:clickable="false"
android:focusable="false"
android:src="@drawable/ic_lock_open_light_24dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ratingButton"
android:layout_width="100dp"
android:layout_height="35dp"
android:gravity="center"
android:clickable="true"
android:focusable="true"
android:layout_marginEnd="30dp"
android:layout_alignParentEnd="true">
<ImageView
android:id="@+id/ratingButtonImage"
android:layout_width="25dp"
android:layout_height="25dp"
android:scaleType="fitXY"
android:clickable="false"
android:focusable="false"
android:src="@drawable/ic_star_gray_24" />
</LinearLayout>
</RelativeLayout >
</RelativeLayout >
为此,您需要根据值文件夹中的 dimen
设置视图高度。
使用那个 dimen
值你可以存档这个东西。
否则,您可以使用此库,它将根据设备屏幕尺寸和分辨率
提供dp
值