我想支持多种屏幕尺寸的Android屏幕,但我可以通过维护多个xml布局文件来实现
但根据要求,我应该使用单一的XML布局来优化应用程序的使用.
所以,请你帮助我,我已经通过多个教程多个链接,但无法获得堆栈溢出的最后一个选项
绘制:
对于图像,您必须根据屏幕分辨率管理不同的可绘制文件夹:
drawable-ldpi //240x320 drawable-mdpi //320x480 drawable-hdpi //480x800 drawable-xhdpi //720x1280 drawable-xxhdpi //1080X1920 drawable-xxxhdpi //1440X2560 drawable-tvdpi // nexus 7 etc drawable-xlarge-xhdpi //tablet like nexus 10
dimes: 对于维度,如果你根据你的UI使用不同的静态角钱,那么你必须根据它们的值...文件夹来定义它们.
不同智能手机分辨率的值文件夹:
values-ldpi\dimens.xml values-mdpi\dimens.xml values-hdpi\dimens.xml values-xhdpi\dimens.xml values-xxhdpi\dimens.xml values-xxxhdpi\dimens.xml
注意:如果使用sp/sip/dp/dip,则将根据设备密度调整这些值.例如,假设您在mdpi(320X480)分辨率设备中为TextView设置了10sp.然后,相同的值将自动调整为其他分辨率.
mdpi(10sp==10px) hdpi(15px) xhdpi(20px) xxhdpi(30px) xxxhdpi(40px)
这些是一些常规用法值文件夹,用于管理与其屏幕分辨率相关的维度.
不同屏幕的不同值文件夹:
values-sw720dp 10.1” tablet 1280x800 mdpi values-sw600dp 7.0” tablet 1024x600 mdpi values-sw480dp 5.4” 480x854 mdpi values-sw480dp 5.1” 480x800 mdpi values-xxxhdpi 1440X2560 xxxhdpi values-xxhdpi 1080X1920 xxhdpi values-xhdpi 4.7” 1280x720 xhdpi values-xhdpi 4.65” 720x1280 xhdpi values-hdpi 4.0” 480x800 hdpi values-hdpi 3.7” 480x854 hdpi values-mdpi 3.2” 320x480 mdpi values-ldpi 3.4” 240x432 ldpi values-ldpi 3.3” 240x400 ldpi values-ldpi 2.7” 240x320 ldpi
有关深度的知识,请使用支持屏幕分辨率
Layouts Folder
在您的res
文件夹中为所有设备创建三个不同的,并相应地使用尺寸.
通用布局文件夹
res/layout-small res/layout-normal res/layout-large res/layout-xlarge
完成正常/中等布局后,请按照下列步骤操作:
转换其他屏幕尺寸的正常尺寸.
将Normal Layout xml文件复制到其他文件夹中.
根据您所在的文件夹更改使用的尺寸的后缀
调整可绘制文件夹中的图像资源(宽度和高度 - 与我们用于转换尺寸的技术相同)并将它们放在各自的可绘制文件夹中(drawable-ldpi,drawable-mdpi,drawable-hdpi,drawable-xdpi等等) ).
然后你的布局应该适用于每个设备正确定位.
用于转换值
0.75 - ldpi (small) //mdpi dimens *0.75 1.0 - mdpi (normal) //First create these dimensions 1.5 - hdpi (large) //mdpi dimens *1.5 2.0 - xhdpi (xLarge) //mdpi dimens *2.0
例如
android:layout_ //in normal android:layout_//in large 66*1.5=100(approx) android:layout_ //in small 66*0.75=52(approx)
此外,还引入了新的限定符 - SmallestWidth - AvailableScreenWidth - AvailableScreenHeight
在此处详细了解https://developer.android.com/guide/practices/screens_support.html
我希望这有帮助.