android - 相对布局在不同的模拟器中搞砸了

标签 android layout

所以我正在为我的第一个应用程序设计主页,当我模拟它时,我注意到我的秒表的尺寸由于某种原因变大了一点。所以我拿起手机在那里进行了测试,但结果并不理想。我使用的 dp 我几乎可以肯定是 % 而不是设置值,所以我不知道为什么它会那样变化。

这是图片,所以它不会混淆我的问题 http://imgur.com/a/IKvdI

menu1_layout.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent" android:layout_height="match_parent"
        android:gravity="center_horizontal">

        <ImageView
            android:layout_width="500dp"
            android:layout_height="800dp"
            android:id="@+id/imageView"
            android:background="@drawable/background3" />

    </RelativeLayout>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent" android:layout_height="match_parent"
        android:gravity="center_horizontal">

    <Button
        android:id="@+id/stopWatch"
        android:layout_width="225dp"
        android:layout_height="200dp"
        android:background="@drawable/stopwatch2"
        android:layout_marginTop="83dp"
        android:layout_marginRight="3dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:gravity="center_horizontal"
        android:layout_gravity="center_horizontal|bottom">

    <Chronometer
        android:id="@+id/aChronometer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp"
        android:textColor="#ffffff"
        android:layout_marginBottom="144dp"
        android:layout_above="@+id/editText"
        android:layout_centerHorizontal="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:text="@string/Explanation"
            style="@style/Base.TextAppearance.AppCompat.Medium"
            android:layout_above="@+id/button"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="26dp"
            android:textColor="#ffffff" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText2"
            android:text="= 0"
            android:layout_marginTop="8dp"
            style="@style/Base.TextAppearance.AppCompat.Medium"
            android:layout_alignTop="@+id/button"
            android:layout_centerHorizontal="true"
            android:layout_marginRight="-10dp"
            android:textColor="#ffffff" />

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="50dp"
            android:layout_height="40dp"
            android:background="@drawable/cookie"
            android:id="@+id/button"
            android:layout_marginRight="-10dp"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/editText2"
            android:layout_toStartOf="@+id/editText2"
            android:layout_marginBottom="84dp" />


    </RelativeLayout>
</FrameLayout>

最佳答案

如果您在 5 个不同尺寸的不同设备上运行您的特定布局,您将得到 5 个不同的结果。

嗯,这是因为您为 layout_heightlayout_widthmargins 设置了特定值,例如 225dp200dp。我知道这些是 独立像素,但是当考虑可绘制时,永远不要将 widthheight 都设置为特定值。它弄乱了纵横比。这些设置适用于一种特定的设备配置,但​​不适用于其他设备。设备将根据设备的分辨率选择不同的可绘制对象。

您需要尝试设计您相对于其他 View 的 View 。始终确保 layout_widthlayout_hightwrap_content 中。这将确保 drawable 在所有设备和模拟器中以正确的纵横比加载。

关于android - 相对布局在不同的模拟器中搞砸了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33405038/

相关文章:

使用div的html 3行布局

适合所有屏幕尺寸的 Android 单一布局

android - 支持多屏 Android 布局的指南

android - 使用 LayoutInflater 在彼此下方多次添加相同的 View

java - 如何使用 Opencv 将 PNG 从 Java 类传递到 Android 中的 Native 类

java - Android计算android谷歌地图中的网格角位置

android - 是否可以通过前导和跟踪来设置 android 字体样式?

ruby-on-rails - 特定 Action 的渲染布局

java - 有没有更好的方法来了解 Activity 的生命周期状态,例如 isOnStop、isOnPause 等 API?

java - 尝试设置 Preference 的 setTitle() 时出现 NullPointerException