如何让设计视图在您的设备上看起来一样

How to get the design view to look the same on your device

我正在完成一个应用程序,对于原型,我希望它看起来非常适合我的 phone,但即使在创建具有相同尺寸和尺寸的 avd 之后,它在我的设备中看起来也完全变形, 我怎样才能解决这个问题?我正在使用 Poco X3 (1080x2400, 6'67")。Android Studio 中的设计器视图也不显示底部导航栏,因此很难让内容保持原样。

有一个自定义库可以帮助您针对不同的屏幕尺寸进行布局

SDP library

这是示例用法

    <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:background="@android:color/white"
    android:gravity="center">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/give_us_a_review_landmine_main_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="vertical"
            android:paddingBottom="@dimen/_27sdp"
            android:paddingLeft="@dimen/_43sdp"
            android:paddingRight="@dimen/_43sdp"
            android:paddingTop="@dimen/_50sdp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Intuit"
                android:textColor="@android:color/black"
                android:textSize="@dimen/_40sdp"/>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/_minus10sdp"
                android:paddingBottom="@dimen/_15sdp"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:includeFontPadding="false"
                    android:text="♡"
                    android:textColor="#ED6C27"
                    android:textSize="@dimen/_70sdp"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:includeFontPadding="false"
                    android:text="U"
                    android:textColor="@android:color/black"
                    android:textSize="@dimen/_70sdp" />
            </LinearLayout>

            <TextView
                android:id="@+id/give_us_a_review_landmine_text_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:paddingBottom="@dimen/_12sdp"
                android:text="Rate us so we can grow and help more people get their finances in check"
                android:textColor="@android:color/black"
                android:textSize="@dimen/_16sdp" />

            <TextView
                android:id="@+id/give_us_a_review_landmine_text_2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="★★★★★"
                android:textColor="#747474"
                android:textSize="@dimen/_22sdp"
                android:textStyle="bold" />

            <Button
                android:id="@+id/give_us_a_review_landmine_button"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/_25sdp"
                android:padding="@dimen/_8sdp"
                android:text="Rate"
                android:textSize="@dimen/_15sdp"
                android:visibility="visible"
                android:textColor="@android:color/white"
                android:gravity="center"
                android:minWidth="120dp"
                android:includeFontPadding="false"
                android:background="#0ac775"
                android:singleLine="true" />

        </LinearLayout>
    </LinearLayout>
</RelativeLayout>