【问题标题】: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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      • 2011-11-18
      • 1970-01-01
      相关资源
      最近更新 更多