在图像视图中淡化图像边框

时间:2013-08-20 11:54:09

标签: android android-layout bitmap android-imageview

我需要在ImageView上添加淡化效果。 在我的情况下,我有RelativeLayout,相对背景为黄色,背景的中心有ImageView。现在我需要对ImageView的边缘应用淡入淡出效果。这可能吗? (Android api 11+

我试过了:

android:requiresFadingEdge="horizontal"
android:fadingEdge="horizontal"
android:fadingEdge="vertical"
android:fadingEdgeLength="40px"

但不起作用..

enter image description here

这是我想要的一个例子。就像你可以看到顶部和左边正在褪色,相反,右边和底边不会褪色..

非常感谢!

2 个答案:

答案 0 :(得分:3)

覆盖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);

答案 1 :(得分:0)

尝试以下方法:不需要扩展ImageView

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