我正在尝试为5.1“设备优化我的应用程序,实际上我有一个布局和大型布局(针对7.0”进行了优化)但是如果我尝试将设备作为设备放入5.1“而不是更改它打开的主要布局的大小和更改大的布局大小......
所以问题是,我如何创建一个自定义大小的布局?如果可能的话我会创建一个layout-normall并将其设置为5.1“因为主要布局也针对5.0”进行了优化......
PS :(我还在使用ConstraintLayout而且它不能用于切换设备) pic相关:
答案 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经理。然后使用所需尺寸创建新的虚拟设备。
您不必使用此虚拟设备,但如果您创建一个具有所需尺寸的新设备,它将显示在您在旋转器最底部的第一张照片中显示的下拉列表下方。