将相机中的图片加载到ImageView中

时间:2012-12-04 01:05:00

标签: android image imageview uri

在我的应用程序中,我拥有它,以便当用户点击“相机”按钮时,它会使用意图将他带到相机。

然后他拍摄照片并将其重新加载到我在与“相机”按钮相同的屏幕上的ImageView中。

我认为我的屏幕方向有问题。当我加载相机视图时,它会切换到水平方向,当它关闭时,它会切换回垂直方向,我的整个屏幕会重置为默认值。

这是我在logcat中遇到的错误:

12-03 20:14:38.440: E/SpannableStringBuilder(15134): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

有什么想法吗?

编辑:

以下是发生的事情:

  • 我点击相机按钮。
  • 屏幕摄像头视图切换到水平模式,但我垂直握住它,因此切换到垂直模式。
  • 我以水平模式拍摄照片。
  • 相机应用程序要求我保存我的图片或以垂直模式取消它。
  • 我点击保存。
  • 我的应用以水平模式加载,并将图片放在imageView中。
  • 该应用程序然后切换回垂直模式并重置整个屏幕。

我把你的所有代码都放入了,但它没有帮助。

3 个答案:

答案 0 :(得分:1)

另外需要注意的是,默认情况下,Android中的摄像头仅在横向模式下工作。因此,无论您的屏幕方向是什么,相机都只能以水平模式启动。也如上所述做

android:configChanges="orientation"

使用以下回调

在您的活动中处理此问题
@Override
public void onConfigurationChanged(Configuration newConfig) {       
    super.onConfigurationChanged(newConfig);

}

答案 1 :(得分:0)

您的活动被重置的原因是由于相机意图所做的屏幕方向改变。

您可以将android:configChanges="orientation"放入androidManifest.xml

中的活动中

一旦你拥有了它,它就不会破坏并重建你的活动。

有关详细信息,请参阅http://developer.android.com/guide/topics/manifest/activity-element.html#config

答案 2 :(得分:0)

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

我所做的只是添加那行代码,它运行得很好。