Android Studio模拟器显示缩小版App

时间:2017-10-24 23:11:05

标签: android xml android-layout android-studio

模拟器正在显示UI的所有元素,它只是将所有内容与预览中的内容进行比较。屏幕截图清晰:

以下是我希望UI出现在模拟器中的方式:

以下是UI在模拟器中的显示方式。如您所见,图像,EditText框和按钮不占用与预览相同的空间百分比。

以下是我的活动的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@color/clarksonGreen" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="577dp"
        android:layout_height="595dp"
        android:alpha="0.1"
        android:layout_gravity="center"
        app:srcCompat="@drawable/login_background" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView"
            android:layout_gravity="center"
            android:layout_width="266dp"
            android:layout_height="255dp"
            android:layout_marginBottom="30dp"
            android:layout_marginTop="20dp"
            app:srcCompat="@drawable/knight" />

        <EditText
            android:id="@+id/enterEmail"
            android:layout_width="274dp"
            android:layout_height="48dp"
            android:textColor="@color/closeBlack"
            android:ems="10"
            android:background="@drawable/rounded_corners"
            android:hint="Enter Email"
            android:layout_gravity="center"
            android:textColorHint="#808080"
            android:inputType="textEmailAddress"
            android:layout_marginBottom="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginLeft="8dp" />

        <EditText
            android:id="@+id/enterPassword"
            android:layout_width="273dp"
            android:layout_height="46dp"
            android:layout_marginBottom="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="8dp"
            android:background="@drawable/rounded_corners"
            android:ems="10"
            android:fontFamily="sans-serif"
            android:hint="Enter Password"
            android:layout_gravity="center"
            android:inputType="textPassword"
            android:textColor="@color/closeBlack"
            android:textColorHint="#808080" />

        <Button
            android:id="@+id/logIn"
            android:layout_gravity="center"
            android:layout_width="274dp"
            android:layout_height="61dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginTop="8dp"
            android:background="@color/clarksonYellow"
            android:text="Log in"
            android:textColor="@color/clarksonGreen"
            android:textSize="20dp" />


    </LinearLayout>

</FrameLayout>

1 个答案:

答案 0 :(得分:0)

dp代表密度像素,因此参数如android:layout_width&amp; android:layout_height将根据您使用的设备密度进行缩放。根据屏幕密度的不同,它可能略有不同。

而不是指定特定宽度&amp;高度,像ImageView和&amp; EditText,应用match_parentwrap_content&amp;然后提供适当的margin&amp; padding。它会按照您的要求在每个屏幕上进行缩放。

参考:Supporting Multiple Screens - Android Developers Documentation