在多窗口模式下获取Android 7的窗口宽度,可以通过以下步骤实现:
<activity android:name=".MainActivity"
android:resizeableActivity="true"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"/>
这样可以确保应用程序支持多窗口模式。
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int windowWidth = displayMetrics.widthPixels;
这将获取当前窗口的宽度值。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// 横屏模式下的处理
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
// 竖屏模式下的处理
}
// 更新窗口宽度
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int windowWidth = displayMetrics.widthPixels;
}
这样,在屏幕旋转或窗口大小发生变化时,可以获取到新的窗口宽度。
总结: 在多窗口模式下获取Android 7的窗口宽度,需要在AndroidManifest.xml中设置resizeableActivity属性为true,并在MainActivity中使用DisplayMetrics获取窗口宽度。同时,可以通过重写onConfigurationChanged方法,在窗口大小发生变化时更新宽度值。
领取专属 10元无门槛券
手把手带您无忧上云