【问题标题】:Fading the image border in an imageview淡化图像视图中的图像边框
【发布时间】:2013-08-20 11:54:08
【问题描述】:
我需要在ImageView 上添加淡入淡出效果。
在我的情况下,我有一个RelativeLayout,黄色的相对背景,在该背景的中心有一个ImageView。现在我需要在ImageView 的边缘应用淡入淡出效果。这可能吗? (Android api 11+)
我试过了:
android:requiresFadingEdge="horizontal"
android:fadingEdge="horizontal"
android:fadingEdge="vertical"
android:fadingEdgeLength="40px"
但不起作用..
这是我想要的一个例子。就像你可以看到顶部和左侧正在褪色,而右侧和底部边缘并没有褪色..
非常感谢!
【问题讨论】:
标签:
android
android-layout
bitmap
android-imageview
【解决方案1】:
重写 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);
【解决方案2】:
试试这个解决方法:不需要扩展 ImageView
imageView.scrollTo(1,0);
imageView.setHorizontalFadingEdgeEnabled(true);
imageView.setFadingEdgeLength(40);