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);
}
}