2016-04-25 2 views
2

мир! Я студент, и я разрабатываю приложение для Android о своей стране. Я заметил красивое расположение в приложении. A text is over image at the bottom with background gradientAndroid. Добавление текста через изображение с эффектом

В этой картине TextViews размещен в нижней части изображения с красивым фоном (вид градиента) мне было интересно, если вы могли бы мне помочь, чтобы выяснить, как это сделать, или показывая направление. Все, что я сейчас это так: row.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_marginBottom="5dp" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:src="@drawable/medeobase" 
      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="@color/colorWhite"/> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Almaty region" 
       android:textColor="@color/colorPrimary" 
       android:layout_marginLeft="20dp" 
       android:layout_below="@+id/place_id" 
       android:textSize="12sp" 
       android:id="@+id/place_id_sub" 

       /> 
     </RelativeLayout> 
    </RelativeLayout> 

Спасибо!

ответ

4

Что вы могли бы сделать, на самом деле использовать GradientDrawable для фона для RelativeLayout, удерживая TextView.

градиент может выглядеть примерно так:

my_custom_drawable.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient 
     android:angle="90" 
     android:endColor="@android:color/transparent" 
     android:startColor="@android:color/black" /> 
</shape> 

Затем замените BackgroundColor из ваших RelativeLayout с градиентом, как это:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:layout_alignParentBottom="true" 
    android:background="@drawable/my_custom_gradient.xml"> 

Это приведет к следующему:

Gradient

Вам необходимо поиграть с цветами в GradientDrawable, чтобы они соответствовали вашим потребностям, конечно. Я не могу сказать, какие цвета выглядят правильно для ваших нужд.

Вы также можете добавить centerColor - см. documentation для получения дополнительных атрибутов.

Я бы, вероятно, изменил цвет текста субтитров на тот же цвет, что и цвет текста заголовка.

+0

спасибо большое :) Это помогло мне! Извините, что я не могу поддержать вас, потому что моего рейтинга недостаточно. –

+0

@ZhadyrassynDaniyar без проблем :-) Я думаю, что вы все равно можете принять его как ответ без какой-либо репутации :-) – Darwind

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