簡體   English   中英

在相機預覽上顯示透明視圖?

[英]Display a transparent view over a camera preview?

我有一個顯示相機預覽的視圖( previewView )。

我添加了一個按鈕 ( button_load ) 來選擇手機上的一張圖片,我希望一旦選擇了這張圖片,它就會以透明的方式顯示在相機的預覽中(在PhotoPreChargee中)。

除了我無法顯示相機預覽的視圖。

我的代碼:

OnCLick(按鈕加載):

private void loadImage(){
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    intent.setType("image/*");
    intent.putExtra("return-data", true);
    startActivityForResult(intent, 100); 
}

選擇圖片時:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode==100 && resultCode==RESULT_OK) {
            Uri uri = data.getData();
            photoPreChargee.setImageURI(uri); // set URI
            photoPreChargee.setVisibility(View.VISIBLE); // set Visible
            photoPreChargee.setAlpha(0.5F); // transparency
            previewView.setVisibility(View.VISIBLE);  // already Visible
        }
}

問題是photoPreChargee視圖總是不可見的。 它不會以透明度覆蓋previewView

這是我的視圖的布局:

應用程序

你知道為什么嗎? 怎么做?

謝謝你的幫助:)


解決方案(通過snachmsm ):

onCreate()

previewView = findViewById(R.id.previewView);
previewView.setImplementationMode(PreviewView.ImplementationMode.COMPATIBLE);

現在我可以在 previewView 上顯示一個視圖

假設previewViewPreviewView - 它應該被配置為使用TextureView在引擎蓋下,老式的SurfaceView (這也是默認設置的)在許多情況下不允許重疊

在開始預覽之前使用下面(例如在onCreate中)

previewView.preferredImplementationMode = ImplementationMode.COMPATIBLE

並且請在這種情況下發布 XML,Android Studio 預覽的屏幕截圖什么也沒說,沒有人可以確保您設置了正確的 XML 屬性,這可能導致錯誤的答案或在沒有人回答的情況下留下問題,這知道解決方案,但不是t 100% 確定,只是不想詢問細節、評論、爭論等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM