AppCompatActivity中的宽度和高度错误

时间:2016-09-19 01:24:13

标签: android appcompatactivity

我对SampleActivity extends AppCompatActivity进行了编码,在onCreate()中将方向更改为ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

使屏幕尺寸相反。关注是我的AndroidManifext.xml

<activity
    android:name=". SampleActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:theme="@style/DefaultActivityTheme"
    android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
</activity>

我的SampleActivity。

public class SampleActivity extends AppCompatActivity
{

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_screen);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }

    @Override
    protected void onResume()
    {
        super.onResume();
    }
}

1 个答案:

答案 0 :(得分:0)

好的,你所获得的高度和宽度与肖像或风景无关。这就是电话理解的内容。如果您想知道它现在是哪一个,那么您可以做什么:

public boolean isLandscape() {
    DisplayMetrics displayMetrics = new DisplayMetrics();
    boolean isLandscape = false;
    Display d = getWindowManager().getDefaultDisplay();

    Point size = new Point();
    d.getSize(size);

    if(size.x > size.y) {
        isLandscape = true;
    }

    return isLandscape;
}

如果屏幕是横向的,则此方法将返回true,如果不是false