android - 如何使用 onRetainNonConfigurationInstance() 为屏幕方向保存位图?

标签 android android-layout bitmap state android-image

在我的类 View 中,手机摄像头将打开,程序会在用户从手机摄像头拍摄照片后显示位图,但同时用户将屏幕旋转到“横向”位图将消失, Activity 的 oncreate() 将再次加载并且然后相机将再次打开。

我不知道用 onRetainNonConfigurationInstance() 或 onSaveInstanceState() 保存位图。

问题是我如何在用户旋转手机之前保存位图(从手机摄像头中获取),这样即使手机处于横向模式,屏幕上也会显示相同的位图?

---编辑--- 添加到 AndroidManifest.xml 是获取保存状态的好方法吗?

最佳答案

将其保存在 SaveInstanceState 上:

  @Override
  public void onSaveInstanceState(Bundle toSave) {
    super.onSaveInstanceState(toSave);
    toSave.putParcelable("bitmap", bitmap);
  }

并在创建时将其取回:

 @Override
  public void onCreate(Bundle savedState) {
    super.onCreate(savedState);
    if (savedState != null) bitmap = savedState.getParcelable("bitmap");
  }

关于android - 如何使用 onRetainNonConfigurationInstance() 为屏幕方向保存位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862937/

相关文章:

Android 4.0 没有提供选择应用程序打开文件的选项?

android - 如何在 osmdroid 中设置最大缩放?

android - 我如何在 xml 中的 ImageView 旁边制作一些 TextView

android - android :entries in code? 的替代品是什么

android - 在android中的单个布局中使用包含不同布局时如何将页脚固定在底部

android - 如何使用 OpenGL 在 Android 上绘制位图

java - Finalize 方法中的位图回收无法正常工作

android - 创建 Osmdroid Mapview 的屏幕截图

android - 推特连接失败

android - 无法在空对象上调用方法 version()