我试图尽可能准确地匹配这款专为此设计的平板电脑,三星标签S2 - 9.7“屏幕尺寸,2048x1536 - 我已经创建了一个匹配它的AVD。
我排列了如下图所示的图像:
但是当我部署它时,它们会跳转,如下所示:
根据其他平板电脑,它们会变得更糟,但我现在只想尝试一下。我正在使用带有DP的全屏相对布局来获得尺寸和边距,那么为什么它们如此跳跃呢?它不应该始终与顶部/侧面的距离相同吗?为什么即使尺寸和像素在AVD和平板电脑中完全匹配,它也会移动?
我完全迷失了,我已经阅读了从设置代码边缘到绝对布局(不再支持)的一切。一切都指向DP,但即使使用完全匹配的平板电脑和设计师,它们也会改变位置和大小。
<FrameLayout 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="@drawable/background_buttons"
tools:context="com.cimulus.samocoseat.MainMenu">
<!-- This FrameLayout insets its children based on system windows using
android:fitsSystemWindows. -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fullscreen_content_controls_a"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="UselessParent">
<ImageView
android:id="@+id/seatView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/seat"
android:layout_marginTop="60dp"
android:layout_marginBottom="60dp"
android:layout_marginLeft="245dp"
/>
<ImageButton
android:layout_width="124dp"
android:layout_height="75dp"
android:text="Seat Back Forward"
android:id="@+id/seatBackForward"
android:background="@drawable/left_inactive"
android:layout_marginTop="266dp"
android:layout_marginStart="38dp" />
<Button
android:layout_width="124dp"
android:layout_height="75dp"
android:text="Seat Back Forward"
android:id="@+id/legRightExtension"
android:background="@drawable/left_inactive"
android:layout_marginTop="142dp"
android:layout_marginLeft="100dp" />
</RelativeLayout>
</FrameLayout>
非常感谢任何帮助。
编辑:我也尝试过自己的相对布局,总体上给出了相同的结果:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fullscreen_content_controls_a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_buttons">
<ImageView
android:id="@+id/seatView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/seat"
android:layout_marginTop="60dp"
android:layout_marginBottom="60dp"
android:layout_marginLeft="245dp"
/>
<ImageButton
android:layout_width="124dp"
android:layout_height="75dp"
android:text="Seat Back Forward"
android:id="@+id/seatBackForward"
android:background="@drawable/left_inactive"
android:layout_marginTop="266dp"
android:layout_marginStart="38dp" />
<Button
android:layout_width="124dp"
android:layout_height="75dp"
android:text="Seat Back Forward"
android:id="@+id/legRightExtension"
android:background="@drawable/left_inactive"
android:layout_marginTop="142dp"
android:layout_marginLeft="100dp" />
</RelativeLayout>
答案 0 :(得分:1)
我遇到了类似的问题,有人建议使用此库 - https://github.com/intuit/sdp。它提供的单元可以在具有不同屏幕特征的设备之间自动缩放。希望它有所帮助:)