0

我的任务是为设备提供 < 1024x800 分辨率的一组布局和 >=1024x800 - 另一个。

下面是我正在使用的一些代码。关于 _isTablet 标志应用程序可以决定它应该使用哪个布局。

你认为这是一个不错的策略还是我应该考虑另一种功能来实现基于分辨率的设计布局隔离?谢谢。

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;
    }
4

2 回答 2

0

试试这个代码来检查设备是否是平板电脑

  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); 
    }
于 2012-06-18T05:09:32.010 回答
0

对于支持安卓移动设备和平板,安卓提供了一个非常简单的解决方案。您可以从以下网址获取:http: //developer.android.com/guide/practices/screens_support.html

从这里请阅读:

 1. How to Support Multiple Screen
 2. Designing alternative layouts and drawables
 3. Declaring Tablet Layouts for Android 3.2
 4. Configuration examples
于 2012-06-18T05:25:16.873 回答