如何在android中将黑色透明放在图像上

时间:2014-11-21 12:53:55

标签: java android xml android-layout android-fragments

我想要在底部添加黑色透明以显示文字细节的图像。从服务器我将得到正常的图像,我想转换它如下。在下图中,您可以看到图像的底部是黑色透明的。

enter image description here

6 个答案:

答案 0 :(得分:27)

试试这个

<FrameLayout 
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/ur_image" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/gradient_bg" >
</FrameLayout>

和gradient_bg.xml

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

答案 1 :(得分:3)

使用FrameLayout将另一个ImageView放在图像上方,并将其设置为src:

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

<gradient
    android:angle="270"
    android:startColor="#8000"
    android:endColor="#0000"/>

</shape>

答案 2 :(得分:1)

这可以通过创建gradients.check this

来使用
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <gradient
                android:startColor="#4C4C43"
                android:endColor="#B8B894"
                android:angle="270" />
        </shape>
    </item>
</selector

&GT;

答案 3 :(得分:1)

将AppCompatImageView与着色属性一起使用

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v7.widget.AppCompatImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:tint="@color/black_transparent"//transparent color 
        android:scaleType="centerCrop"
        android:src="@drawable/background_splash" />
</FrameLayout>

答案 4 :(得分:1)

您可以使用色调。

<ImageView
  ...
  android:tint:"#64000000"
  .../>

答案 5 :(得分:0)

您可以使用alpha属性

android:alpha="0.0" thats invisible
android:alpha="0.5" see-through
android:alpha="1.0" full visible