我正在开发一个计算器应用程序,它具有纵向模式下的相对布局。所有按钮和文本视图都放置在这个单一的相对布局中,并且横向模式下也是相同的相对布局。我已经在网上搜索了将近15天,但没有找到相关内容。我的应用程序还支持平板电脑。MinSDKVer为14,目标版本为v21。
目前我正在尝试以下布局文件:
1:layout-sw400dp(适用于Note 3和Mate 7)
2:layout-sw600dp(适用于7英寸平板电脑)
3:layout-sw720dp(适用于8.9英寸和10英寸平板电脑)
4:layout-small-ldpi
5:layout-normal-ldpi
6:layout-normal-mdpi
7:layout-large-mdpi(适用于480×800像素的屏幕> 5英寸的手机,如Pantech Sky Vega Note)
8:layout-normal-hdpi
9:layout-large-hdpi(适用于Galaxy Note 2,Galaxy Note和Galaxy Mega)
10:layout-normal-xhdpi
11:layout-normal-xxhdpi
12:layout-large-xxhdpi(适用于Galaxy Note 4)
13:layout-normal-xxxhdpi(适用于Nexus 6和其他QFHD手机)
所有这些布局都有横向模式。
当我放置(layout-sw400dp)时出现问题。 Nexus 6,Note 4,Note 2,Galaxy Mega和Large 480×800手机开始使用此布局,而不是预期的布局。
这是因为swdp比layout-normal-xxxx或layout-large-xxxx具有更高的优先级。
Note 3和Mate 7是400dpi设备,这就是为什么我放置了layout-sw400dp。在那之前,除了Note 3和Mate 7之外,所有设备都正常工作。
另一个问题是分辨率为540×960的设备。
我尝试了layout-320dp。通过使用这个xhdpi设备和xxhdpi设备开始使用这个布局。
我还尝试了这些布局适用于540×960,但即使为layout-long-port-800×480创建了单独的文件夹,这些布局也无法正常工作。
1:layout-h960dp-w540dp 2:layout-long-port-960×540
3:layout-normal-960×540
我从Android虚拟设备管理器中创建不同的设备来读取所有屏幕。
我已经尝试过在Java文件中手动设置540×960设备的布局并成功了,但我不想这样做,也不想使用Linear布局。
我已经彻底研究了“Android Different Screen Support and Providing Resources”。
请告诉我支持所有Android设备所需的所有布局文件的名称,或者使用Java进行此操作的任何其他有效方法。
目前我正在尝试以下布局文件:
1:layout-sw400dp(适用于Note 3和Mate 7)
2:layout-sw600dp(适用于7英寸平板电脑)
3:layout-sw720dp(适用于8.9英寸和10英寸平板电脑)
4:layout-small-ldpi
5:layout-normal-ldpi
6:layout-normal-mdpi
7:layout-large-mdpi(适用于480×800像素的屏幕> 5英寸的手机,如Pantech Sky Vega Note)
8:layout-normal-hdpi
9:layout-large-hdpi(适用于Galaxy Note 2,Galaxy Note和Galaxy Mega)
10:layout-normal-xhdpi
11:layout-normal-xxhdpi
12:layout-large-xxhdpi(适用于Galaxy Note 4)
13:layout-normal-xxxhdpi(适用于Nexus 6和其他QFHD手机)
所有这些布局都有横向模式。
当我放置(layout-sw400dp)时出现问题。 Nexus 6,Note 4,Note 2,Galaxy Mega和Large 480×800手机开始使用此布局,而不是预期的布局。
这是因为swdp比layout-normal-xxxx或layout-large-xxxx具有更高的优先级。
Note 3和Mate 7是400dpi设备,这就是为什么我放置了layout-sw400dp。在那之前,除了Note 3和Mate 7之外,所有设备都正常工作。
另一个问题是分辨率为540×960的设备。
我尝试了layout-320dp。通过使用这个xhdpi设备和xxhdpi设备开始使用这个布局。
我还尝试了这些布局适用于540×960,但即使为layout-long-port-800×480创建了单独的文件夹,这些布局也无法正常工作。
1:layout-h960dp-w540dp 2:layout-long-port-960×540
3:layout-normal-960×540
我从Android虚拟设备管理器中创建不同的设备来读取所有屏幕。
我已经尝试过在Java文件中手动设置540×960设备的布局并成功了,但我不想这样做,也不想使用Linear布局。
我已经彻底研究了“Android Different Screen Support and Providing Resources”。
请告诉我支持所有Android设备所需的所有布局文件的名称,或者使用Java进行此操作的任何其他有效方法。
我已经将所有资源文件上传到Mediafire,您可以下载计算器布局.zip
欢迎提出任何建议和解决方案,提前感谢。
对于英语表达不好,请见谅。