[英]How to define dimens.xml for every different screen size in android?
[英]Android: Which dimens.xml file picked for what screen size?
如果我有2行2列的表布局。 每个象限表框都有静态文本,例如“ box_11”,“ box_12”,“ box_21”,“ box_22”。 我希望较大的屏幕上的文本大小更大,较小的屏幕上的文本大小更大。 我希望文本根据屏幕尺寸缩放。 我该怎么办?
我想我应该使用dimens.xml文件,定义:
<dimen name="activity_text_size">15sp</dimen>
然后我应该使用android:textSize="@dimen/activity_text_size"
我看到在我的项目工作区中有不同的“值”目录,例如值,values-sw600dp,values-sw720dp_land,values-v11,values-v14。 每个“值”目录可以具有dimens.xml文件。 当您有多个文件时,将基于什么基础选择dimens.xml?
例如:
//放入dimen.xml(600dp)
<resources> <dimen name="activity_text_size">15dp</dimen> </resources>
//进入dimen.xml(sw720dp_land)
<resources> <dimen name="activity_text_size">20dp</dimen> </resources>
//进入dimen.xml(w820dp)
<resources> <dimen name="activity_text_size">25dp</dimen> </resources>
对于任何尺寸的屏幕,您都应使用特定的dimen.xml(您的尺寸目标)并为其使用相同的dimen.name。
关于@matiash的链接和其他官方资源,请参考:-http: //developer.android.com/guide/topics/resources/providing-resources.html#BestMatch-https : //developer.android.com/guide/practices/ screens_support.html
可以满足的“标准”密度是:
一组六个广义密度:
ldpi(低)〜120dpi
mdpi(中)〜160dpi
hdpi(高)〜240dpi
xhdpi(超高)〜320dpi
xxhdpi(超高)〜480dpi
xxxhdpi(超高)〜640dpi
当您使用多个dimen.xml文件创建应用程序时,将选择一个适合该屏幕尺寸的文件。
如果在这种情况下没有为该特定屏幕密度提供资源:
如果没有可用的匹配资源,系统将使用默认资源并根据需要将其放大或缩小以匹配当前屏幕尺寸和密度
希望这对您有所帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.