2

Я начинаю с android. Я занимаюсь разработкой приложений, и я хочу этот эффект:Android add traslucid overlayer to image

enter image description here

Я думаю, что это фоновое изображение, наложение йоту traslucid цвет, и textView.

Моя раскладка такова:

<?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:id="@+id/backgroundImage" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:contentDescription="Description" /> 

<ImageView 
    android:id="@+id/overlay" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:background="#AAFF0000" 
    android:contentDescription="Description" /> 

<TextView 
    android:id="@+id/textoOpcion" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:text="TextView" /> 

</RelativeLayout> 

Но это не работает.

Любая идея для этого?

Спасибо.

+2

«Но это не работает» не является описанием проблемы. –

+0

Извините, мой бедный английский, я хотел сказать, что я не мог получить эффект, который я хотел. – hlastras

ответ

2

попробовать, как это я надеюсь, что он будет работать для и ..

этот образ существует, давая textview цвет фона, как #44ff0000

и может Чейн непрозрачность цвета, изменяя первые два значения цветового кода от 00 до FF

# 44ff0000 здесь 44 непрозрачность для coloor ff0000

enter image description here

<?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:id="@+id/backgroundImage" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:contentDescription="Description" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/textoOpcion" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/backgroundImage" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/backgroundImage" 
    android:background="#44000000" 
    android:gravity="bottom" 
    android:text="TextView" 
    android:textColor="#ffffff" /> 

</RelativeLayout> 
+0

Спасибо @ m-s-gadag, что работает лучше. Но проблема в том, что я хочу, чтобы текстовый центр был на изображении, но он находится в углу, и андроид: гравитация не центрирует его. Я исследую решение и опубликую его. – hlastras

+0

приветствуется приятель ... я надеюсь, что проблема ура решена? –

+0

Да, это решено! Благодаря! – hlastras

0

Попробуйте следующее. Я нахожу, что FrameLayout работает лучше для материала композитного типа и просто устанавливает фон на самом TextView - нет необходимости в отдельном ImageView.

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

<TextView 
    android:id="@+id/textoOpcion" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:background="@color/whatever_you_like" 
    android:text="TextView" /> 

<ImageView 
    android:id="@+id/overlay" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:contentDescription="Description" 
    android:src="@drawable/drawablewithYourSemiTransparentColor" /> 

</FrameLayout> 
+0

Сделал некоторые изменения после проверки в графическом редакторе. –

+0

Спасибо за ваше решение. Я думаю, что это способ, но он делает FC, когда я делаю кастинг для '(TextView) findViewById (R.id.textoOpcion)'. Спасибо за попытку в графическом редакторе. – hlastras

0

Мое решение:

Я был добавить view, чтобы увидеть наложения цвета и центрировать textView

В решении @ MS-Gadag я не могу центрировать текст :

enter image description here

Но я хочу это:

enter image description here

код, чтобы сделать второе изображение:

<?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:id="@+id/backgroundImage" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:contentDescription="Description"/> 

<View 
    android:id="@+id/overlay" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/backgroundImage" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/backgroundImage" 
    android:background="#99FF0000" /> 

<TextView 
    android:id="@+id/textoOpcion" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:textSize="21sp" 
    android:textColor="#ffffff" /> 

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

    <ImageView 
     android:id="@+id/backgroundImage" 
     android:layout_width="250dp" 
     android:layout_height="250dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:contentDescription="Description" /> 

    <View 
     android:id="@+id/overlay" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/backgroundImage" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignRight="@+id/backgroundImage" 
     android:background="#99FF0000" /> 

    <TextView 
     android:id="@+id/textoOpcion" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/backgroundImage" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignRight="@+id/backgroundImage" 
     android:gravity="center" 
     android:text="map" 
     android:textColor="#ffffff" 
     android:textSize="21sp" /> 

</RelativeLayout> 

Я уверен, что код может быть лучше, но эта работа.