Как добавить наложение поверх изображения в Android? [Дубликат]

Попробуйте следующее:

  ширина: 100%;  box-size: border-box;   
14
задан timss 18 March 2014 в 20:10
поделиться

4 ответа

Когда вы пишете XML для своих элементов списка, которые накачиваются в getView(...) любого ListAdapter, который вы написали, вы можете это сделать.

Что-то вроде этого для элемента списка:

<?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="match_parent">

  <ImageView
    android:layout_width="320dp"
    android:layout_height="240dp"
    android:background="#ACACAC"/>

  <RelativeLayout
    android:layout_width="320dp"
    android:layout_height="240dp"
    android:background="@drawable/gradient">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Here is your text"
        android:textColor="#000000"
        android:layout_alignParentBottom="true"/>

  </RelativeLayout>

</RelativeLayout>

Затем вы создаете этот drawable / gradient. Для этого вы можете переработать ответ из здесь .

20
ответ дан Floern 15 August 2018 в 23:17
поделиться
  • 1
    Большое спасибо, мне удалось пройти через ваш ответ;) – cesarferreira 27 December 2013 в 21:18

Благодаря adityajones мне удалось добраться туда :) Итак, хотя это мой правильный ответ, я буду отмечать его как правильный!

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:scaleType="centerCrop"
    android:src="@drawable/image" />

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:background="@drawable/gradient_image" >

    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_margin="6dp"
        android:layout_marginBottom="18dp"
        android:shadowColor="#000"
        android:shadowRadius="7.0"
        android:text="This is some random text"
        android:textColor="@color/white"
        android:textSize="22sp" />
</RelativeLayout>

4
ответ дан cesarferreira 15 August 2018 в 23:17
поделиться

Вам не нужно использовать файл с градиентным рисунком или установить его в xml .. вы можете сделать это прагматично, используя класс GradientDrawable, как описано в этом связанном вопросе (. Создавать радиальный градиент программным путем ) затем установите его как фон для макета, который охватывает ваш ImageView, это дает вам возможность использовать разные цвета и ориентации

1
ответ дан Community 15 August 2018 в 23:17
поделиться

Я бы использовал FrameLayout или RelativeLayout. Первый вид, который вы добавляете в оба, должен быть фоновым ImageView, тогда, очевидно, вам понадобятся некоторые текстовые элементы и другие ImageViews [или кнопки или кнопки изображения и т. Д.]

Похоже на разумный макет: фоновое изображение, а затем еще один вид в каждом углу.

Для градиента вам, вероятно, понадобится отдельный макет / представление внизу с градиентом, который можно отрисовать в качестве фона, хотя я могу представить, что вы можете уйти с установкой фона одного из ваших TextViews в качестве градиента.

2
ответ дан Matt 15 August 2018 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: