2016-06-23 15 views
1

Ich brauche am Boden ImageAndroid Gradienten Hintergrund

mit schwarzem Farbverlauf in etwa so zu implementieren, verwendete ich den Code unten activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_marginBottom="5dp" 
    android:background="@drawable/my_custom_drawable" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/dead" 
     android:scaleType="fitXY" 
     android:id="@+id/place_image" 
     /> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentBottom="true" 
     android:background="#AA000000"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medeu" 
      android:id="@+id/place_id" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="2dp" 
      android:textSize="18sp" 
      android:textColor="#ffffff"/> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Almaty region" 
      android:textColor="#ffffff" 
      android:layout_marginLeft="20dp" 
      android:layout_below="@+id/place_id" 
      android:textSize="12sp" 
      android:id="@+id/place_id_sub" 

      /> 
    </RelativeLayout> 
</RelativeLayout> 

und my_custom_drawable.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient 
     android:startColor="#00000000" 
     android:endColor="#80000000" 
     android:angle="270" 
     android:dither="true" 
     /> 
</shape> 

Ich am Ende bekomme li ke dieses

Image 2

Warum bin ich nicht die Wirkung als erstes Bild bekommen, habe ich mehrere Top-Antworten von anderen Fragen

+0

überprüfen Sie meine Antwort ... ich habe es getestet –

Antwort

1

Das Problem ist Ihre ImageView ist Abdeckung Ihrer RelativeLayout, die Sie den Hintergrund festlegen, so dass es nicht sichtbar ist.

Hinzufügen ein View mit dem gewünschten Hintergrund über die ImageView statt Einstellung des Hintergrund der RelativeLayout funktionieren soll:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_marginBottom="5dp"> 

    <ImageView 
     android:id="@+id/place_image" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scaleType="fitXY" 
     android:src="@drawable/dead" /> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/my_custom_drawable" /> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentBottom="true"> 

     <TextView 
      android:id="@+id/place_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="2dp" 
      android:text="Medeu" 
      android:textColor="#ffffff" 
      android:textSize="18sp" /> 

     <TextView 
      android:id="@+id/place_id_sub" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/place_id" 
      android:layout_marginLeft="20dp" 
      android:text="Almaty region" 
      android:textColor="#ffffff" 
      android:textSize="12sp" /> 
    </RelativeLayout> 
</RelativeLayout> 
1

Versuchen Sie dies genannt:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" 
    > 

    <gradient 
     android:angle="90" 
     android:startColor="@color/black_transparent" 
     android:endColor="@android:color/transparent" 
     /> 

</shape> 
-1

Ihr Bild ist über dem Gradienten.