Android clique na imagem para ampliar

Em nosso processo de desenvolvimento, inevitavelmente encontraremos o efeito de imagem do carrossel e podemos clicar para ampliar o efeito. Aqui, recomendo o uso de um controle de terceiros, que pode ser realizado com muita facilidade (aliás, a ideia de implementação de​​​ clicando para reproduzir o vídeo também está anexado). O primeiro é contar
com:

compile 'com.github.chrisbanes:PhotoView:2.0.0'

Depois, há a imagem ampliada (ou o efeito de reproduzir o vídeo)

<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="#000"
    android:gravity="center"
    tools:context=".ui.activity.FoodVideoActivity">

    <VideoView
        android:id="@+id/vv_foodVideo"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.github.chrisbanes.photoview.PhotoView
        android:id="@+id/photo"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

Para explicar, uso o player integrado do Android para reproduzir o vídeo, defino a cor de fundo de todo o layout como preto e, em seguida, defino os controles para reproduzir o vídeo e os controles para exibir o efeito de zoom da imagem para a largura e altura máxima

		Intent intent = getIntent();
        //拿到跳转传过来的值
        FoodDetailImgBean videoUrl = (FoodDetailImgBean) intent.getSerializableExtra("VideoUrl");
        //判断传过来的是图片还是视频
        if (videoUrl.getType().equals("video")) {
            photoView.setVisibility(View.GONE);
            Vv_FoodVideo.setVideoURI(Uri.parse(videoUrl.getContentUrl()));
            Vv_FoodVideo.setMediaController(new MediaController(this));
            Vv_FoodVideo.start();
        } else {
            Vv_FoodVideo.setVisibility(View.GONE);
            Glide.with(this).load(Uri.parse(videoUrl.getUrl())).into(photoView);
        }

A ideia da realização é definir um evento de clique para a imagem do carrossel, clicar para reproduzir e depois transferir o conteúdo para a página a ser exibida e, em seguida, julgar se é uma foto ou um vídeo e, em seguida, fazer um julgamento
.

Acho que você gosta

Origin blog.csdn.net/m0_46366678/article/details/125562264
Recomendado
Clasificación