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

Link: https://github.com/intuit/sdp