创建自定义布局大小?

时间:2017-07-28 12:20:23

标签: java android android-layout layout

一些信息

我正在尝试为5.1“设备优化我的应用程序,实际上我有一个布局和大型布局(针对7.0”进行了优化)但是如果我尝试将设备作为设备放入5.1“而不是更改它打开的主要布局的大小和更改大的布局大小......

问题?

所以问题是,我如何创建一个自定义大小的布局?如果可能的话我会创建一个layout-normall并将其设置为5.1“因为主要布局也针对5.0”进行了优化......

enter image description here

PS :(我还在使用ConstraintLayout而且它不能用于切换设备) pic相关:

enter image description here

2 个答案:

答案 0 :(得分:1)

听起来您正在使用屏幕尺寸资源限定符来提供备用布局:

/res/layout/mylayout.xml
/res/layout-large/mylayout.xml

我建议您停止这样做,并且以后永远不要使用屏幕大小资源限定符。正如你已经注意到的那样," normal"和"大"目前还不清楚,很多手机都算是“#34;大"”。

使用最小宽度资源限定符会更好:

/res/layout/mylayout.xml
/res/layout-sw360dp/mylayout.xml
/res/layout-sw600dp/mylayout.xml

以这种方式提供备用资源可以在使用特定布局时提供精确控制。请注意,您可以在此处使用任何数字; sw487dp完全有效。

您可以在此处详细了解:https://developer.android.com/guide/topics/resources/providing-resources.html

  

设备的 smallestWidth 会考虑屏幕装饰和系统用户界面。例如,如果设备在屏幕上有一些持久性UI元素,这些元素占最小宽度轴的空间,则系统会声明最小宽度小于实际屏幕大小,因为这些是您的UI不可用的屏幕像素。因此,您使用的值应该是布局所需的实际最小尺寸(通常,此值是&#34;最小宽度&#34;您的布局支持,无论屏幕的当前方向如何)。< / p>      

您可以在此处使用一些常用屏幕尺寸的值:

     

320,适用于具有以下屏幕配置的设备:   240x320 ldpi(QVGA手机),   320x480 mdpi(手机),   480x800 hdpi(高密度手机)

     

480,适用于480x800 mdpi(平板电脑/手机)等屏幕。

     

600,适用于600x1024 mdpi(7&#34;平板电脑)等屏幕。

     

720,适用于720x1280 mdpi(10&#34;平板电脑)等屏幕。

答案 1 :(得分:0)

即使我不知道你想要的原因,但如果你确实想让这个应用程序只适合一个屏幕尺寸,你可以使用AVD管理器。转到工具 - &gt; Android - &gt; AVD经理。然后使用所需尺寸创建新的虚拟设备。

您不必使用此虚拟设备,但如果您创建一个具有所需尺寸的新设备,它将显示在您在旋转器最底部的第一张照片中显示的下拉列表下方。