Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何设计一个可以在多个屏幕上工作的用户界面?_Android - Fatal编程技术网

Android 如何设计一个可以在多个屏幕上工作的用户界面?

Android 如何设计一个可以在多个屏幕上工作的用户界面?,android,Android,所以我有两部手机Note 3(1080p中的5.7)这里是该应用程序的屏幕截图: 我还有A7 2018(6英寸1080x2220 18.5:9),这里是一个屏幕截图: 在看到了巨大的差异之后,我如何在多屏幕大小和分辨率之间创建稳定的UI,而更糟糕的是Android Studio的预览缺乏精确性 有没有办法为不同的显示类创建不同的XML布局?这将帮助您 支持不同屏幕大小的操作包括: 避免使用绝对值 如果使用绝对值,则大小使用dp,字体大小使用sp 尽可能使用match_parent或wrap

所以我有两部手机Note 3(1080p中的5.7)这里是该应用程序的屏幕截图:

我还有A7 2018(6英寸1080x2220 18.5:9),这里是一个屏幕截图:

在看到了巨大的差异之后,我如何在多屏幕大小和分辨率之间创建稳定的UI,而更糟糕的是Android Studio的预览缺乏精确性

有没有办法为不同的显示类创建不同的XML布局?

这将帮助您

支持不同屏幕大小的操作包括:

  • 避免使用绝对值
  • 如果使用绝对值,则大小使用
    dp
    ,字体大小使用
    sp
  • 尽可能使用
    match_parent
    wrap_content
  • 如果您使用
    ConstraintLayout
    指南
    可能是您的朋友(可以基于%创建它们)
  • 如果上面没有任何帮助,请为不同的屏幕大小创建单独的布局()

可以将ConstraintLayout与指南一起使用,也可以为不同的屏幕大小使用不同的布局。例如,您可以创建一个名为main_activity的布局,通过在目录中创建不同版本的文件,对手机和平板电脑进行优化,如下所示:

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
以下是其他最小宽度值与典型屏幕尺寸的对应方式:

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a large phone screen ~5" (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

查看文档:

您是否尝试过按钮的
marginRight
marginLeft
属性?@Gourav我知道我可以使用边距,但您可以看到按钮在注释3中占用了更大的空间,如果我添加边距,它将使
ConstraintLayout
GuideLines
实现多屏幕支持更加有效。