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

Android モバイル デバイスとタブレットをサポートするために、Android は非常にシンプルなソリューションを提供しています。以下から入手できます: 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 に答える