我正在使用密度标准开发应用程序,但是当我在那些屏幕Galaxy Nexus(720x1280)和Nexus 4(768x1280)中比较我的布局时,前者很好,而在后者左侧有一个白色空间。
我使用dp来缩放布局,2布局具有相同的密度(xhdpi)。
那么如何设计具有相同密度和屏幕尺寸的不同布局呢?
以下是创建xhdpi布局的示例代码,在这两部手机中使用Android Studio预览来查看下一张图片。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="dimx"
android:layout_height="dimy"
android:background="@android:color/black"/>
</LinearLayout>
xhdpi文件夹中的尺寸文件
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="dimx">360dp</dimen>
<dimen name="dimy">512dp</dimen>
</resources>
另一个文件夹中的尺寸文件
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="@dimen/dimx">0dp</dimen>
<dimen name="@dimen/dimy">0dp</dimen>
答案 0 :(得分:0)
您的xml中存在android:layout_width="@dimen/dimx"
和android:layout_height="@dimen/dimy"
修改:Google Nexus和Nexus 4的屏幕宽度不同并使用硬编码尺寸,这是主要问题。为了避免将来出现任何问题,请使用相对值而不是硬编码值,在您的情况下设置match_parent将解决您的问题。
希望它有所帮助!!