我已经将zxing完全包含在我的应用程序中,以使其独立。
它可以工作,但是相机旋转(我认为是逆时针旋转90度),并且它的填充物很奇怪。
我的java:
package it.mi.action.codmmunicator_2ddecoder;
import android.os.Bundle;
import android.widget.Toast;
import android.graphics.Bitmap;
import com.google.zxing.Result;
import com.google.zxing.client.android.CaptureActivity;
public class Lettore extends CaptureActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lettore);
}
@Override
public void handleDecode(Result rawResult, Bitmap barcode) {
Toast.makeText(this.getApplicationContext(), "Scanned code " + rawResult.getText(), Toast.LENGTH_LONG);
}
}
和我的xml(像zinclude这样进行zxing的活动):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
<ImageView android:src="@drawable/head" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<FrameLayout android:layout_width="fill_parent" android:layout_height="250dip">
<include layout="@layout/capture" android:toDegrees="90" />
</FrameLayout>
</LinearLayout>
填充是这样的:https://dl.dropbox.com/u/16047047/Untitled-1.jpg
有人可以发布解决方案吗?
非常感谢
最佳答案
它的旋转角度为90度,这是因为Zxing仅适用于横向心情。而且我认为您的应用程序适用于纵向心情。
您可以在ConfigurationManager.java
中尝试
void setDesiredCameraParameters(Camera camera) {
Camera.Parameters parameters = camera.getParameters();
Log.d(TAG, "Setting preview size: " + cameraResolution);
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
parameters.set("orientation", "portrait");
parameters.setRotation(90);
if (camera != null)
try {
camera.setDisplayOrientation(90);
} catch (NoSuchMethodError ex) {
}
setFlash(parameters);
setZoom(parameters);
// setSharpness(parameters);
setSharpness(parameters);
camera.setParameters(parameters);
}
注意:但是,这不是在项目中包含其代码的方法。您需要通过Intents使用它。
关于android - ZXing已完全包含在内,但镜头已旋转,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11248055/