[英]How can I make an ImageView rotate the image when the device is rotated from portrait/landscape?
假设您在ImageView中有摩天大楼的图像。 在纵向模式下,摩天大楼像往常一样指向上方。
默认情况下,如果旋转设备景观,摩天大楼将仍然指向上方。
我希望得到的结果是摩天大楼遵循设备的方向,因此它将指向侧面。
我一生无法找到解决方案。
基本上,我有一个全屏背景图像,无论旋转方式如何,它看起来都不错。 我想使用scaleType centerCrop使其充满整个屏幕,并且由于图像不旋转,因此可以“放大”以便用纵向图像填充横向屏幕。
尝试在更改的配置上旋转图像:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
您可能必须将这些行添加到AndroidManifest.xml中,以告诉您自己正在处理配置更改的系统:
<activity
android:name="MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
在AndroidManifest.xml的活动下添加android:screenOrientation =“ portrait”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.