在 Android 模拟器中,浸入 xml 不适用于不同的屏幕密度
我正在 android 中测试多 dpi,布局 xml 文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@drawable/new_album_bg">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<RelativeLayout android:gravity="center"
android:paddingTop="400dip" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText android:background="@drawable/name_text_bg"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" />
</RelativeLayout>
</RelativeLayout>
当我在 480x800 mdpi(160) 模拟器(缩放至 7 英寸)上运行它时,它工作正常,但在 480x800 hdpi 模拟器上,它填充EditText 向下到屏幕底部附近,接近 600px,是 400dip x 240 / 160 吗?即使我将其缩放到 4 英寸,它似乎与屏幕尺寸没有任何区别。如何让padding在不同的屏幕密度下发挥作用?多谢!
I'm testing multi dpi in android, and the layout xml file seems like this:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@drawable/new_album_bg">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<RelativeLayout android:gravity="center"
android:paddingTop="400dip" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText android:background="@drawable/name_text_bg"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" />
</RelativeLayout>
</RelativeLayout>
When I run it on a 480x800 mdpi(160) simulator (scale to 7 inches), it works fine, but on a 480x800 hdpi simulator, it PADDING the EditText down to the near bottom of the screen, nearly 600px, is that 400dip x 240 / 160 ? And It seems has no difference with screen size even I scaled it to 4 inches. How to let padding work under different screen density? Thanks a lot!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在不同的文件夹中创建具有不同填充的不同布局 xml,例如
然后 android 将选择适当的布局 xml
关于dp(Dip)
dp 将保证视图在当前设备屏幕上具有适当的大小。例如,具有
layout_width="100dp"
的视图将在HVGA@160 密度
显示屏上测量100 像素
宽度,150
,但视图将占据大致相同的物理空间。WVGA@240 密度
显示器上的像素有关更多详细信息,请参阅支持多个屏幕
you can create different layout xml with different padding in different folders like
Then the android will select the appropriate layout xml
About dp(Dip)
dp will guarantee that the view is given an appropriate size on the current device screen. For instance, a view with a
layout_width="100dp"
will measure100 pixels
wide on anHVGA@160 density
display and150 pixels
on aWVGA@240 density
display, but the view will occupy approximately the same physical space.For more details refer this Supporting Multiple Screens