如何在android中的图像上放置黑色透明
Posted
技术标签:
【中文标题】如何在android中的图像上放置黑色透明【英文标题】:How to put black transparent on image in android 【发布时间】:2015-01-19 15:08:23 【问题描述】:我有一个图像,我想在底部添加黑色透明以显示文本细节。从服务器我会得到我想转换的正常图像,如下所示。在下图中,您可以看到图像的底部是黑色透明的。
【问题讨论】:
【参考方案1】:使用 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】:这可以通过创建渐变来使用。检查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
>
【讨论】:
【参考方案3】:你可以使用 alpha 属性
android:alpha="0.0" thats invisible
android:alpha="0.5" see-through
android:alpha="1.0" full visible
【讨论】:
【参考方案4】:试试这个
<FrameLayout
android:layout_
android:layout_ >
<ImageView
android:id="@+id/imageView1"
android:layout_
android:layout_
android:src="@drawable/ur_image" />
<FrameLayout
android:layout_
android:layout_
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>
【讨论】:
这救了我的命。谢谢你:)【参考方案5】:使用带有 tint 属性的 AppCompatImageView
<FrameLayout
android:layout_
android:layout_>
<android.support.v7.widget.AppCompatImageView
android:layout_
android:layout_
android:tint="@color/black_transparent"//transparent color
android:scaleType="centerCrop"
android:src="@drawable/background_splash" />
</FrameLayout>
【讨论】:
纯透明色不需要渐变资源定义。简单是最好的。【参考方案6】:您可以使用色调。
<ImageView
...
android:tint:"#64000000"
.../>
【讨论】:
以上是关于如何在android中的图像上放置黑色透明的主要内容,如果未能解决你的问题,请参考以下文章