我意识到,对于 Google Play 市场,它们对左右有“模糊”效果(见左边的“付费”,右边的“趋势”,如附件)
我想知道,是否可以使用ViewPagerIndicator来实现这样的效果?从我看到的演示中,我们可以自定义各种指标(从线到三角形)。但我还没有看到一个例子,它会在左侧产生“模糊”效果。
我意识到,对于 Google Play 市场,它们对左右有“模糊”效果(见左边的“付费”,右边的“趋势”,如附件)
我想知道,是否可以使用ViewPagerIndicator来实现这样的效果?从我看到的演示中,我们可以自定义各种指标(从线到三角形)。但我还没有看到一个例子,它会在左侧产生“模糊”效果。
我想知道,是否可以使用 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);
}
}