繁体   English   中英

从纵向/横向旋转设备时,如何使ImageView旋转图像?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM