2016-06-23 3 views
1

Мне нужно реализовать что-то подобное, с черным градиентом эффектом в нижнем ImageAndroid градиент фон

Я использовал приведенный ниже код 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> 

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

Я в конечном итоге получаю ли ка это

Image 2

Почему я не получаю эффект как первое изображение, я упоминал несколько топ ответов от других вопросов

+0

проверить мой ответ ... я протестировал его –

ответ

1

Проблема заключается ваш ImageView является покрывая ваш RelativeLayout, который вы устанавливаете фон, поэтому он не виден.

Добавление View с нужным фоном выше вашего ImageView вместо установки фона на RelativeLayout должно работать:

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

Попробуйте это:

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

Ваше изображение выше градиента.

Смежные вопросы