如何获得我正在使用普通,大或xlarge的布局

时间:2014-02-19 13:48:39

标签: android layout

我正在为不同的屏幕尺寸使用不同的布局,但对某些onClick使用相同的方法 并且根据屏幕大小,我使用了不同的drawable,应该为调用onClick的视图设置。

尝试了getTag,但我没有设置它们,因为我不知道要设置什么标签(它们基于屏幕尺寸(物理))。

那么我如何才能获得当前应用程序使用布局大或布局正常的布局?

2 个答案:

答案 0 :(得分:1)

您可以使用Configuration.screenLayout位掩码。

示例:

if ((getResources().getConfiguration().screenLayout & 
    Configuration.SCREENLAYOUT_SIZE_MASK) == 
        Configuration.SCREENLAYOUT_SIZE_LARGE) {
    // on a large screen device ...

}

取自“Jeff Gilfelt”, 重复:How to determine device screen size category (small, normal, large, xlarge) using code?

答案 1 :(得分:0)

你到底想要做什么?听起来你需要不同的图像用于同一个按钮,具体取决于布局,已经支持,而无需明确知道你所在的屏幕尺寸。您应该能够使用drawable-xhdpi,drawable-sw600dp-xhdpi和drawable-sw800dp-xhdpi等限定符。如果将按钮图像放在每个具有相同名称的图像中,请给出可绘制的按钮,系统将在运行时选择正确的drawable,而无需明确知道大小。

如果你的onClick中有一些需要知道屏幕大小的逻辑,那就是一个不同的问题,如果你提供更多关于你想要做什么的细节,那么框架可能会有类似的方式支持它。