2013-08-20 3 views
5

Мне нужно добавить эффект затухания на ImageView. В моей ситуации у меня есть RelativeLayout, относительный фон в желтом цвете и в центре этого фона есть ImageView. Теперь мне нужно применить эффект затухания на краю ImageView. Это возможно? (Android api 11+)Увядание границы изображения в образе изображения

Я пробовал:

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

но не работает ..

enter image description here

Это пример того, что я хочу. Как вы можете видеть, сверху и слева исчезают, вместо этого правый и нижний край не исчезают.

Спасибо большое!

ответ

3

методы Override в 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); 
Смежные вопросы