Android 按设备定义xml布局';s决议

Android 按设备定义xml布局';s决议,android,android-layout,Android,Android Layout,我的任务是为一组布局提供=1024x800分辨率的设备 下面是我正在使用的一些代码。关于on_iTablet flag,应用程序可以决定应该使用哪种布局 你认为这是一个不错的策略吗?或者我应该考虑另一个功能来实现强/分辨率>设计布局的隔离?谢谢 Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); final int height = displa

我的任务是为一组布局提供<1024x800分辨率的设备,而为另一组布局提供>=1024x800分辨率的设备

下面是我正在使用的一些代码。关于on_iTablet flag,应用程序可以决定应该使用哪种布局

<>你认为这是一个不错的策略吗?或者我应该考虑另一个功能来实现<>强/分辨率>设计布局的隔离?谢谢

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    final int height = display.getHeight();
    final int width = display.getWidth();

    _leadingSideResolution = Math.max(height, width);
    if (_leadingSideResolution <= HANDSET_LAYOUT_RESOLUTION) {
            _isTablet = false;
    } else if(_leadingSideResolution > HANDSET_LAYOUT_RESOLUTION 
                && _leadingSideResolution <= TABLET_LAYOUT_RESOLUTION) {
            _isTablet = true;
    }
Display Display=((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
最终整数高度=display.getHeight();
final int width=display.getWidth();
_引线侧面分辨率=数学最大值(高度、宽度);
if(_leadingSideResolution手机_布局_分辨率)

&&\u leadingSideResolution尝试此代码检查设备是否为平板电脑

  public  boolean onTablet()
   {
     int intScreenSize = context.getResources().getConfiguration().screenLayout &   Configuration.SCREENLAYOUT_SIZE_MASK;

     return (intScreenSize == Configuration.SCREENLAYOUT_SIZE_LARGE) // LARGE
     || (intScreenSize == Configuration.SCREENLAYOUT_SIZE_LARGE + 1); // Configuration.SCREENLAYOUT_SIZE_XLARGE
    }  



    if(!onTablet())
    {
        setContentView(R.layout.not_tablet_layout);
    }
     else
    {
       setContentView(R.layout.tablet_layout); 
    }

为了支持android移动设备和平板电脑,android提供了一个非常简单的解决方案。您可以从以下网站获得:

请从中阅读:

 1. How to Support Multiple Screen
 2. Designing alternative layouts and drawables
 3. Declaring Tablet Layouts for Android 3.2
 4. Configuration examples

很抱歉,但是-你读过我的问题吗?没有任何东西可以清楚地说明如何通过分辨率值来区分布局。