0

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

然后他拍照,它应该将它加载回我在与相机按钮相同的屏幕上的 ImageView 中。

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

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

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

有任何想法吗?

编辑:

这是发生的事情:

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

我把你所有的代码放进去,但它没有帮助。

4

3 回答 3

1

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

android:configChanges="orientation"

并在您的活动中使用以下回调处理此问题

@Override
public void onConfigurationChanged(Configuration newConfig) {       
    super.onConfigurationChanged(newConfig);

}

于 2012-12-04T04:34:24.343 回答
0
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

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

于 2012-12-06T15:07:29.933 回答
0

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

您可以android:configChanges="orientation"在 androidManifest.xml 中放入您的活动

一旦你有了它,它就不会破坏和重新创建你的活动。

请参阅http://developer.android.com/guide/topics/manifest/activity-element.html#config了解更多详情

于 2012-12-04T03:32:05.157 回答