gpt4 book ai didi

java - 如何在CameraSource上放置一个图标?

转载 作者:行者123 更新时间:2023-12-02 11:41:38 26 4
gpt4 key购买 nike

我需要添加一个图标来在我的相机源上拍照,但我正在使用自定义库(由第三人开发)。我的图标需要位于cameraSourcePreview 标记内。

private Context mContext;
private SurfaceView mSurfaceView;
private boolean mStartRequested;
private boolean mSurfaceAvailable;
private CameraSource mCameraSource;

private GraphicOverlay mOverlay;

public CameraSourcePreview(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
mStartRequested = false;
mSurfaceAvailable = false;

mSurfaceView = new SurfaceView(context);
mSurfaceView.getHolder().addCallback(new SurfaceCallback());
addView(mSurfaceView);
}

我尝试放入我的 xml,但它不起作用。

我的xml

<LinearLayout
android:id="@+id/topLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">

<com.example.aveek.barcodescanner.ui.CameraSourcePreview
android:id="@+id/preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center">

<pl.droidsonroids.gif.GifImageView
android:id="@+id/qr_image"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:gravity="center"
android:keepScreenOn="true" />

<com.example.aveek.barcodescanner.ui.GraphicOverlay
android:id="@+id/graphicOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</com.example.aveek.barcodescanner.ui.CameraSourcePreview>

<android.support.design.widget.FloatingActionButton
android:src="@drawable/ic_settings_black_24dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />


</LinearLayout>

我有这个丑陋的设计:

enter image description here

我怎样才能做到这一点?我也尝试将 SuurfaceView 更改为 FrameLayout。

最佳答案

试试这个 - 将父 View 从 LinearLayout 更改为relativelayout,以便您可以将一个 View (在您的情况下为按钮)放在其他 View (CameraSourcePreview)的顶部。

<RelativeLayout
android:id="@+id/topLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">

<com.example.aveek.barcodescanner.ui.CameraSourcePreview
android:id="@+id/preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_gravity="center">

<pl.droidsonroids.gif.GifImageView
android:id="@+id/qr_image"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:gravity="center"
android:keepScreenOn="true" />

<com.example.aveek.barcodescanner.ui.GraphicOverlay
android:id="@+id/graphicOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</com.example.aveek.barcodescanner.ui.CameraSourcePreview>

<android.support.design.widget.FloatingActionButton
android:src="@drawable/ic_settings_black_24dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alignParentBottom="true"
android:layout_marginBottom="20dp"
android:layout_centerHorizontal="true"
/>


</RelativeLayout>

关于java - 如何在CameraSource上放置一个图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48509722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com