2010-09-03 24 views
13

Ich habe ein Video-Thumbnail und wenn Sie darauf klicken, wird das Video im YouTube-Player abgespielt. Das funktioniert großartig, aber es ist nicht so klar, dass du auf das Thumbnail klicken musst, um es abzuspielen, also habe ich ein Play-Button-Bild, das ich über das Thumbnail in der rechten unteren Ecke zeichnen möchte. Wie würde ich darüber gehen? Ich habe derzeit die Miniaturansicht in einem Drawable-Objekt und die Schaltfläche "Abspielen" in meinem zeichnenden Ressourcenverzeichnis. Ich habe es mit Bitmaps und Canvas versucht, aber es ist ziemlich hart und ich weiß nicht, ob das der richtige Weg ist.Android: Bild über Bild

Vielen Dank! Erik

Antwort

27

Verwendung Relative oder 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> 

oder

<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

Funktioniert gut, danke! – Erik

+2

framelayout funktionierte für mich, danke ich war auch verwirrt und dachte daran, es programmatisch hinzuzufügen. – UMAR

+1

+1 Danke Kumpel. Zuerst habe ich 'FrameLayout' verwendet und Ihre Lösung hat für mich funktioniert. Danke Kumpel. – Sajmon

4

Was ist ein FrameLayout oder eine RelativeLayout mit den Ansichten zu stapeln ..

Hier einige psaudo Code folgt:

<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 gute Idee, keine Notwendigkeit, das Bild selbst zu verarbeiten. Ich werde es versuchen. – Erik

+1

Managed, um es mit einem FrameLayout tatsächlich zu lösen. Vielen Dank! – Erik

+0

+1 für psaudo :) –

0

habe ich RelativeLayout und es funktionierte für mich

<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>