2010-09-03 5 views
13

J'ai une vignette vidéo et lorsque vous cliquez dessus, la vidéo commence à être lue sur le lecteur YouTube. Cela fonctionne très bien, mais il n'est pas si clair que vous deviez cliquer sur la vignette pour jouer, donc j'ai une image de bouton de lecture que je veux dessiner sur la vignette dans le coin en bas à droite. Comment pourrais-je m'y prendre? J'ai actuellement la vignette dans un objet Drawable et le bouton de lecture dans mon répertoire de ressources drawable. J'ai essayé des trucs avec des bitmaps et de la toile mais c'est assez dur et je ne sais pas si c'est le chemin à suivre.Android: Image dans l'image

Merci beaucoup! Erik

Répondre

27

Utilisation relative ou FrameLayout:

<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> 
    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/thumbnail"/> 
    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/play" android:layout_alignParentBottom="true" android:layout_alignParentRight="true"/> 
</RelativeLayout> 

ou

<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> 
    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/thumbnail"/> 
    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/play" android:layout_gravity="bottom|right"/> 
</FrameLayout> 
+0

Fonctionne très bien, merci! – Erik

+2

framelayout a fonctionné pour moi, merci j'étais aussi confus et pensais l'ajouter par programmation. – UMAR

+1

+1 Merci mon pote. Au début, j'ai utilisé 'FrameLayout' et votre solution a fonctionné pour moi. Merci mon pote. – Sajmon

4

Qu'en est-il en utilisant un FrameLayout ou un RelativeLayout pour empiler les vues ..

suit Voici un code de psaudo:

<FrameLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<com.yourpackage.VideoPlayer 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
></VideoPlayer> 

<!-- Adjust the layout position of the button with gravity, margins etc... --> 
<Button 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="bottom" 
android:text="Play" 
/> 

</FrameLayout> 
+0

Hm bonne idée, pas besoin de traiter l'image elle-même. Va essayer ça. – Erik

+1

Géré pour le résoudre avec un FrameLayout en effet. Merci! – Erik

+0

+1 pour psaudo :) –

0

J'utilisé RelativeLayout et cela a fonctionné pour moi

<RelativeLayout 
    android:id="@+id/image_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <android.support.v7.widget.AppCompatImageView 
     android:id="@+id/image" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:scaleType="fitXY" 
     android:adjustViewBounds="true" 
     android:clickable="true" 
     android:layout_gravity="top" 
     android:maxHeight="400dp"/> 

    <ImageView 
     android:id="@+id/play" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/ic_menu_play_large" 
     android:layout_centerInParent="true" /> 

</RelativeLayout>