我想支持多种屏幕尺寸的Android屏幕,但我可以通过维护多个xml布局文件来实现
但根据要求,我应该使用单一的XML布局来优化应用程序的使用.
所以,请你帮助我,我已经通过多个教程多个链接,但无法获得堆栈溢出的最后一个选项
Rea*_*oid 17
绘制:
对于图像,您必须根据屏幕分辨率管理不同的可绘制文件夹:
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
注意:如果使用sp/sip/dp/dip,则将根据设备密度调整这些值.例如,假设您在mdpi(320X480)分辨率设备中为TextView设置了10sp.然后,相同的值将自动调整为其他分辨率.
mdpi(10sp==10px)
hdpi(15px)
xhdpi(20px)
xxhdpi(30px)
xxxhdpi(40px)
Run Code Online (Sandbox Code Playgroud)
这些是一些常规用法值文件夹,用于管理与其屏幕分辨率相关的维度.
不同屏幕的不同值文件夹:
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
Run Code Online (Sandbox Code Playgroud)
有关深度的知识,请使用支持屏幕分辨率
Layouts Folder在您的res文件夹中为所有设备创建三个不同的,并相应地使用尺寸.
通用布局文件夹
res/layout-small
res/layout-normal
res/layout-large
res/layout-xlarge
Run Code Online (Sandbox Code Playgroud)
完成正常/中等布局后,请按照下列步骤操作:
用于转换值
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
Run Code Online (Sandbox Code Playgroud)
例如
android:layout_width="66dip" //in normal
android:layout_width="100dip"//in large 66*1.5=100(approx)
android:layout_width="52dip" //in small 66*0.75=52(approx)
Run Code Online (Sandbox Code Playgroud)
此外,还引入了新的限定符 - SmallestWidth - AvailableScreenWidth - AvailableScreenHeight
在此处详细了解https://developer.android.com/guide/practices/screens_support.html
我希望这有帮助.
如果您提供文本大小为 sp,其他尺寸为 dp。Android 会根据设备的密度自动调整不同的布局。如果要控制这些值,可以将值放入每个值文件夹中的dimens.xml 中。不同密度设备的 res 内的值文件夹如下:
values-ldpi\dimens.xml
values-mdpi\dimens.xml
values-hdpi\dimens.xml
values-xhdpi\dimens.xml
values-xxhdpi\dimens.xml
values-xxxhdpi\dimens.xml
Run Code Online (Sandbox Code Playgroud)