使ImageView具有深色透明度

时间:2017-10-04 13:02:21

标签: android image android-layout android-imageview android-view

我想在图像顶部添加透明黑色并使其更暗。

enter image description here

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

                <ImageView
                    android:id="@+id/rest_image"
                    android:layout_width="match_parent"
                    android:layout_height="150dp"
                    android:adjustViewBounds="true"
                    android:scaleType="centerCrop"
                    />
            </RelativeLayout>

我可以设置alpha参数,但颜色变化为白色。 我想制作像这样的较暗的图像。 我怎么能用xml或Java代码做到这一点。我会根据条件设置它。?

感谢。

4 个答案:

答案 0 :(得分:22)

您需要的是所谓的着色。在您的ImageView

上涂抹色彩
<ImageView
    ...
    android:tint="#6F000000"
    />

答案 1 :(得分:2)

尝试第二个imageview将设置透明色。根据需要调整高度。

500000 - 最后4位代表黑色,前两位代表您想要设置的alpha。

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

                        <ImageView
                            android:id="@+id/rest_image"
                            android:layout_width="match_parent"
                            android:layout_height="150dp"
                            android:adjustViewBounds="true"
                            android:scaleType="centerCrop"
                            />

                          <ImageView 
                            android:layout_width="match_parent"
                            android:layout_height="150dp" 
                            android:background="#500000"
                            />
                    </RelativeLayout>

答案 2 :(得分:0)

最简单/最快的解决方案是XML格式

在ImageView上添加第二层(可以是View,不必是ImageView),具有所需的颜色/ alpha。在需要时显示/隐藏它。

            <ImageView
                android:id="@+id/rest_image"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:adjustViewBounds="true"
                android:scaleType="centerCrop"
                />

            <View
                android:id="@+id/overlay_image"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:background=“@color/yourColorWithAlpha"
                />
        </RelativeLayout>

答案 3 :(得分:0)

您可以使用色调模式添加前景色调。

确保在前景色中添加 Alpha 通道。

foreground="##AARRGGBB"

AA = HEX 中的 alpha 通道 R、G、B = 红、蓝、绿。

<ImageView
            android:id="@+id/vidthumbnail"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:foreground="#96222f3e"
            android:foregroundTintMode="src_atop"/>