2013-02-12 2 views

ответ

1

Используйте метод check whether the device is a tablet, а затем force orientation, если это правда.

// From https://stackoverflow.com/questions/5832368/tablet-or-phone-android 
public boolean isTablet(Context context) { 
    boolean xlarge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 4); 
    boolean large = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE); 
    return (xlarge || large); 
} 

// ... 

// Do this from any Activity you do not wish to rotate on tablets: 
if (isTablet(this)) 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
+0

AFAIK есть устройства, в которых эти инструкции не работают, как и ожидалось, они продолжают в ожидании представления должны быть установлены, и т.д. – Frank

+0

«Ожидание мнений, которые будут созданы»? Я не совсем уверен, что вы имеете в виду. Пока вы это делаете до 'setContentView()', у него нет представлений ждать. – Eric