我已经找到了How to add buttons in Zxing Scanner Camera View 但它不起作用...... 我在这样的弹出窗口中使用相机
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width =dm.widthPixels;
int height =dm.heightPixels;
getWindow().setLayout((int)(width*.9), (int)(height*.7));
WindowManager.LayoutParams params = getWindow().getAttributes();
params.gravity = Gravity.TOP;
params.x =0;
params.y = -20;
getWindow().setAttributes(params);
mScannerView = (ZXingScannerView) findViewById(R.id.zxscan);
mScannerView.setResultHandler(this);
mScannerView.startCamera();
这是xml文件
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CFD8DC"
android:orientation="vertical"
tools:context="com.example.adisi.turzilnic.S1">
<me.dm7.barcodescanner.zxing.ZXingScannerView
android:id="@+id/zxscan"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/FlashOFF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/flashoff"
android:layout_marginLeft="150dp"
android:layout_marginStart="150dp"
android:layout_marginTop="150dp"/>
<ImageButton
android:id="@+id/FlashON"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/flashon"
android:layout_gravity="center"
android:layout_marginTop="50dp"/>
</me.dm7.barcodescanner.zxing.ZXingScannerView>
</RelativeLayout>
这里有什么问题?我不明白..我的按钮没有显示在相机上..应该是从弹出窗口?我在中间设置了带有margintop和marginleft的按钮,因为我想看看这个位置是不是问题..但同样的问题..
答案 0 :(得分:1)
按钮的大小为 wrap_content ,而不是在按钮上设置图像源,而是在背景上设置图像。视图相对大小不会跟踪视图的背景,因此您很可能会将宽度/高度设置为0的视图。
尝试使用“src”设置图像。