Android layout Android多屏幕指南

Android layout Android多屏幕指南,android-layout,Android Layout,我是android开发的新手 目前我正在开发一个项目,但我不知道如何支持所有设备的多屏幕,所以有人能指导我使我的应用程序兼容所有设备吗?没有魔法棒支持所有屏幕大小,它取决于具有不同密度的dimens.xml文件,例如:您提供了一些视图高度和宽度100dp并在低分辨率和高分辨率屏幕上进行测试,但为什么是dppx=dp*(dpi/160)根据公式dp是屏幕上的像素数与每英寸物理点的比例,其中1dp=160px与160点屏幕中相同,因此不同的手机每英寸具有不同的dpidenisty点 mdpi->1d

我是android开发的新手
目前我正在开发一个项目,但我不知道如何支持所有设备的多屏幕,所以有人能指导我使我的应用程序兼容所有设备吗?

没有魔法棒支持所有屏幕大小,它取决于具有不同密度的
dimens.xml
文件,例如:您提供了一些视图高度和宽度
100dp
并在低分辨率和高分辨率屏幕上进行测试,但为什么是dp
px=dp*(dpi/160)
根据公式dp是屏幕上的像素数与每英寸物理点的比例,其中
1dp=160px
与160点屏幕中相同,因此不同的手机每英寸具有不同的
dpi
denisty点

mdpi->1dp=1px

hdmpi->1dp=1.5px

xdpi->1dp=2px

xxdpi->1dp=3px

xxxdpi->1dp=4px

所以,为了使声明正确和清晰,您需要根据屏幕资源设置衍射dps,以匹配dp应有的像素比例

我在android studio上使用了一个非常漂亮的工具,叫做

dimennify

搜索插件并安装,然后重新启动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
根据需要调整

没有魔术棒支持所有屏幕大小,它取决于密度不同的
dimens.xml
文件。例如:您提供了一些视图高度和宽度
100dp
,并在低分辨率和高分辨率屏幕上进行测试,但为什么是dp
px=dp*(dpi/160)
根据公式dp是屏幕上的像素数与每英寸物理点的比例,其中
1dp=160px
与160点屏幕中相同,因此不同的手机每英寸具有不同的
dpi
denisty点

mdpi->1dp=1px

hdmpi->1dp=1.5px

xdpi->1dp=2px

xxdpi->1dp=3px

xxxdpi->1dp=4px

所以,为了使声明正确和清晰,您需要根据屏幕资源设置衍射dps,以匹配dp应有的像素比例

我在android studio上使用了一个非常漂亮的工具,叫做

dimennify

搜索插件并安装,然后重新启动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
根据需要进行调整您可以使用

这是一个具有平面视图层次结构的布局(没有嵌套的视图组)-基本上,您可以创建一个对所有屏幕大小都有响应的布局

来自文档:

ConstraintLayout允许使用平面视图层次(无嵌套视图组)创建大型复杂布局。它类似于RelativeLayout,因为所有视图都是根据同级视图和父布局之间的关系进行布局的,但它比RelativeLayout更灵活,更易于与Android Studio的布局编辑器一起使用

你可以用

这是一个具有平面视图层次结构的布局(没有嵌套的视图组)-基本上,您可以创建一个对所有屏幕大小都有响应的布局

来自文档:

ConstraintLayout允许使用平面视图层次(无嵌套视图组)创建大型复杂布局。它类似于RelativeLayout,因为所有视图都是根据同级视图和父布局之间的关系进行布局的,但它比RelativeLayout更灵活,更易于与Android Studio的布局编辑器一起使用