我意识到,对于 Google Play 市场,它们具有左右“模糊”的效果(请参阅左侧的“付费”和右侧的“趋势”,如附件所示)
我想知道,是否可以使用 ViewPagerIndicator 达到这样的效果? ?从我看到的演示中,我们可以自定义各种指标(从线到三角形)。但是我还没有看到在左侧产生“模糊”效果的例子。
最佳答案
I was wondering, is it possible to achieve such effect using ViewPagerIndicator?
您可以扩展 TitlePagerIndicator
类并自己简单地绘制渐变边缘:
public class TitlePageIndicatorFade extends TitlePageIndicator {
private GradientDrawable mDrawableLeft, mDrawableRight;
private static final int FADE_SIZE = 30;
public TitlePageIndicatorFade(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
init();
}
public TitlePageIndicatorFade(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public TitlePageIndicatorFade(Context context) {
super(context);
init();
}
private void init() {
mDrawableLeft = new GradientDrawable(
GradientDrawable.Orientation.LEFT_RIGHT, new int[] {
Color.parseColor("#F9F9F9"),
Color.parseColor("#00000000") });
mDrawableRight = new GradientDrawable(
GradientDrawable.Orientation.RIGHT_LEFT, new int[] {
Color.parseColor("#F9F9F9"),
Color.parseColor("#00000000") });
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mDrawableLeft.setBounds(0, 0, FADE_SIZE, getHeight());
mDrawableRight.setBounds(getWidth()- FADE_SIZE, 0, getWidth(),
getHeight());
mDrawableLeft.draw(canvas);
mDrawableRight.draw(canvas);
}
}
关于android - 在 ViewPagerIndicator 的两侧创建模糊效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876078/