Android 如何获得什么布局i';m使用普通、大型或大型

Android 如何获得什么布局i';m使用普通、大型或大型,android,layout,Android,Layout,我对不同的屏幕大小使用不同的布局,但对一些onClick使用相同的方法 根据屏幕大小,我使用了不同的drawable,应该为名为onClick的视图设置 getTag尝试过,但我没有设置它们,因为我不知道要设置什么标记(它们基于屏幕大小(物理)) 那么我如何才能得到当前应用程序正在使用大布局或普通布局的布局呢?您可以使用Configuration.screenLayout位掩码 例如: if ((getResources().getConfiguration().screenLayout &am

我对不同的屏幕大小使用不同的布局,但对一些onClick使用相同的方法 根据屏幕大小,我使用了不同的drawable,应该为名为onClick的视图设置

getTag尝试过,但我没有设置它们,因为我不知道要设置什么标记(它们基于屏幕大小(物理))


那么我如何才能得到当前应用程序正在使用大布局或普通布局的布局呢?

您可以使用Configuration.screenLayout位掩码

例如:

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

}
摘自《杰夫·吉尔费尔特》,
重复:

你到底想做什么?这听起来像是你希望同一个按钮有不同的图像,这取决于布局,这已经得到了支持,而不必明确知道你的屏幕大小。您应该能够使用诸如drawable-xhdpi、drawable-sw600dp-xhdpi和drawable-sw800dp-xhdpi之类的限定符。如果您将按钮图像放在每个具有相同名称的按钮中,请指定可绘制的按钮,系统将在运行时选择正确的可绘制按钮,而无需明确知道其大小


如果onClick中有一些逻辑需要知道屏幕大小,这是另一个问题,如果您提供了更多关于您想在那里做什么的详细信息,那么框架可能已经支持了类似的方式。

谢谢,我忘了有类似于可绘制的大mdpi之类的东西:)