Iam新手进行Android开发 目前我正在开发一个项目,但我不知道如何为所有设备支持多屏显示,所以有人可以指导我使我的应用程序与所有设备兼容吗??
答案 0 :(得分:0)
没有魔术棒可以支持所有屏幕尺寸,它取决于dimens.xml
文件的密度,例如密度不同:例如,您提供一些视图高度和宽度100dp
并在低和高分辨率屏幕上进行测试,但是为什么要DP?方程dp中的px = dp * (dpi / 160)
是屏幕上的像素数与每英寸实际点数的比例,其中1dp = 160px
如在160点屏幕中,因此不同的手机每英寸具有不同的dpi
拒绝点< / p>
mdpi-> 1dp = 1px
hdmpi-> 1dp = 1.5px
xdpi-> 1dp = 2px
xxdpi-> 1dp = 3px
xxxdpi-> 1dp = 4px
因此,为了使语句正确并清晰,您需要根据屏幕分辨率设置不同的dps,以匹配dp应该具有的像素比例
我在android studio上使用了一个非常漂亮的工具
Dimenify
搜索插件并安装它,然后重新启动android studio
并将其用作:
- Navigate to the android studio dimension file
- Point the cursor to any dimen you've create
- Right click > Generate > "Generate alternate dimens.."
我更喜欢以下映射mdpi 0.8, hdpi 1.0, xhdpi 1.2, xxhdpi 1.4, xxxhdpi 1.6
根据需要进行调整
答案 1 :(得分:0)
您可以使用ConstraintLayout。
这是具有平面视图层次结构的布局(无嵌套视图组)-基本上,您可以创建一个可以响应所有屏幕尺寸的布局。
来自文档:
ConstraintLayout允许您使用平面视图层次结构(无嵌套视图组)创建大型且复杂的布局。它与RelativeLayout的相似之处在于,所有视图都是根据同级视图和父级布局之间的关系进行布局的,但是它比RelativeLayout更加灵活,并且更易于在Android Studio的布局编辑器中使用。