我正在layout
使用一些自定义按钮(不是 android 默认提供的按钮)在 android 中创建一个简单的按钮。图像在 2.7 到 5.1 的屏幕尺寸上显示正确。但是buttons
在屏幕尺寸 5.4 和更大尺寸(尝试到屏幕尺寸 7)上出现拉伸。我制作了四个相同的图像,以不同的密度命名它们,并将它们相应地放置在文件夹中ldpi,mdpi,hdpi,xhpi
。我需要知道我是否需要layouts
为不同的屏幕创建不同的图像?或者 android 会自动从相应的文件夹中获取图像?一些人请指导我,因为我是 android 新手,因为我正在努力创建layouts
针对 android 移动设备的目标。
5 回答
如果您始终如一地设计布局,则无需定义不同的layout
文件夹(layout-land
、、、 )。将负责(关于显示)。您唯一需要做的就是 在您的和下面 添加:layout-large
layout-small
Android OS
images
<support-screens>
manifest
<support-screens>
<supports-screens android:resizeable=["true"| "false"]
android:smallScreens=["true" | "false"]
android:normalScreens=["true" | "false"]
android:largeScreens=["true" | "false"]
android:xlargeScreens=["true" | "false"]
android:anyDensity=["true" | "false"]
android:compatibleWidthLimitDp="integer"
android:largestWidthLimitDp="integer"/>
创建一致布局的提示:
- 不要硬编码任何
layout
参数,例如width
,height
等。 - 不要使用“
px
” 。使用“sp
”作为文本大小,使用“dp
”作为layout-width
等layout-height
。 - 使用
RelativeLayout
和LinearLayout
不使用AbsoluteLayout
,因为它已被弃用。 ScrollView
在需要的地方使用,因为layouts
它支持单视图。
有关更多信息,请查看Support Multiple Screens的 Android 开发人员文档。
您应该采用为不同的屏幕尺寸编写不同的布局xml并将它们放入res文件夹中。
对于由于 Android 版本而接近不同的密度,可以这样进行
res/layout/mylayout.xml # Default layouts
res/layout-v4/mylayout.xml # Android 1.6 layouts
res/layout-v11/mylayout.xml # Android 3.0 layouts
而对于不同的屏幕尺寸,您需要一些像这样的布局:
res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
也通过这个问题及其答案。
注意:在处理不同的屏幕尺寸时始终使用相对布局;这是一个加号。
编辑
要了解有关资源限定符的更多信息,这些链接很好。
以下链接将帮助您了解在 android 中支持多个屏幕:http: //developer.android.com/guide/practices/screens_support.html
如果你在所有的密度文件夹中有不同的图片,android会自动从对应的文件夹中取。确保您在密度文件夹中使用九个补丁图像。
在 manifest.xml 中使用它
<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"/>
http://developer.android.com/guide/practices/screens_support.html