我一直在研究一个由Redlaser的扫描程序库构建的条码扫描器应用程序,并且我试图在扫描仪叠加层上实现一个按钮来切换摄像头的方向。我一直在这个问题上花了很多时间,但我仍然找不到任何解决方案。以下是我尝试过的解决方案列表,但尚未设法开始工作。也许有人可以改进他们或想出不同的东西。摄像头方向变化
1.旋转UI - >保持原来的方向,只需旋转按钮。 无法接受:轮播不适用于Android 2.3,且该应用需要与2.3兼容。
2.使用android:configChanges="keyboardHidden|orientation|screenSize"
和setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
更改方向。 不起作用:此旋转视图,但图像失真,当我将手机向上移动时,相机向左移动。
3.使用camera.setDisplayOrientation(90);
与解决方案2. 不可能:的camera
对象所在的RedLaser库代码中,我没有访问它。这就是说,在我的ScannerActivity.java中,我没有任何Camera对象。所以我不知道如何参考正在使用的那个。
4.使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
不确定:似乎工作,但这会重新开始活动,我需要保留数据。我熟悉this article,但我还没有找到使用它的好方法。我希望保存来自活动的所有数据,其中包括一些ArrayList<BarcodeResult>
。
任何想法?
本文介绍如何保留重要数据。你到底有什么麻烦? – Fildor
那么,如何在会话之间保存'ArrayList'项?或者任何其他类型的非原始的。 –
Sebek
那么,你可以将它序列化为一个文件或写入一个数据库。你认为什么是“一种好方法”?我想你必须将该文章与[数据持久性](http://developer.android.com/guide/topics/data/data-storage.html)结合起来。 – Fildor