我想开发一款可以在所有屏幕类型的Android手机上运行的Android应用程序。所以我的问题是:
将所有图像资源仅保留在HDPI文件夹中是否可以?或者我是否需要所有3种类型的资源LDPI,MDPI和HDPI?
如果我使用相对布局来开发这个应用程序,那么对于有一些文本的图像会发生什么(_按钮背景图像将有一些文本“提交”)。 Android会根据设备屏幕缩放图像,但是它是否也可以相应地缩放文本?
请建议我如何处理这个问题。
如何制作适用于所有类型屏幕Android手机的应用?
答案 0 :(得分:1)
要开发具有多种屏幕支持的Android应用程序,您必须简要地阅读本教程:Android Mutiple Screen Support
在你的问题的主旨中:
1.可绘制的特定资产根据密度自动获取。 因此,您应该将特定图像放在mdpi,hdpi,ldpi中。
2.阅读并理解清单支持屏幕标签值:
<supports-screens android:smallScreens="true"
android:resizeable="true" android:largeScreens="true"
android:anyDensity="true" android:normalScreens="true"></supports-screens>
3.文本应调整大小:
你应该使用样式,然后你可以有单独的文件夹“值”(默认)“values-hdpi”(高密度)“values-mdpi”(中等密度)等等,并将你的样式文件与正确的textSize值放在一起在每个文件夹中根据需要。
然后,当你处于中密度设备时,如果存在,它将在“values-mdpi”文件夹中选择文件,如果不存在,则选择“值”,对于高密度等,则选择相同的文件...
同样的原则适用于al“res”子文件夹(drawables,values等...)
或简单如果不选择样式,只需使用dp
代替sp
作为文字维度。
答案 1 :(得分:0)
如果我使用相对布局来开发这个应用程序,那么对于其上有一些文本的图像会发生什么(例如,按钮背景图像将有一些文本“提交”)。 android会根据设备屏幕缩放图像,但是它是否也可以相应地缩放文本?
=&GT;如果您想提供可根据屏幕尺寸自动缩小/拉伸的可缩放图像,那么可以使用 9-patch工具来创建可缩放图像,之后您不会需要担心屏幕尺寸和屏幕密度。
这是一个很好的例子:http://www.dibbus.com/2011/03/9patch-images-in-android/
这里还有一篇很好的文章和指南来创建9-patch图像:http://radleymarx.com/blog/simple-guide-to-9-patch/
答案 2 :(得分:0)
如果您只将图像放在HDPI文件夹中,它将起作用。但理想情况下你应该根据密度放置图像。如果你在按钮背景上使用9个补丁图像,android会根据需要拉伸图像,但是如果在某些情况下你发现图像没有正确拉伸,你可以使用单独的图像进行横向和纵向模式。