在ImageView中淡化图像边框

5
我需要在一个ImageView上添加淡入淡出的效果。 我的情况是有一个RelativeLayout,相对背景是黄色的,在中心位置有一个ImageView。现在我需要在ImageView的边缘应用淡化效果。这可行吗?(Android api 11+
我尝试过:
android:requiresFadingEdge="horizontal"
android:fadingEdge="horizontal"
android:fadingEdge="vertical"
android:fadingEdgeLength="40px"

但是它不起作用。。

enter image description here

这是我想要的一个例子。正如你所看到的,顶部和左侧正在淡出,而右侧和底部边缘则没有淡出。

非常感谢!


这个问题有什么解决方法吗? - ralphgabb
2个回答

4

如下所写,在ImageView中覆盖方法:

private float FadeStrength = 1.0f;
private int FadeLength = 40px;

@Override
protected float getTopFadingEdgeStrength() {
    return FadeStrength;
}

@Override
protected float getBottomFadingEdgeStrength() {
    return FadeStrength;
}

@Override
protected float getLeftFadingEdgeStrength() {
    return FadeStrength;
}

@Override
protected float getRightFadingEdgeStrength() {
    return FadeStrength;
}

在视图初始化时添加以下行:

setFadingEdgeLength(FadeLength);
setVerticalFadingEdgeEnabled(true);
setHorizontalFadingEdgeEnabled(true);

0

尝试这个解决方法:不需要扩展ImageView

imageView.scrollTo(1,0);
imageView.setHorizontalFadingEdgeEnabled(true);
imageView.setFadingEdgeLength(40);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接