content: /*
   * 官网地站:http://www.mob.com
   * 技术支持QQ: 4006852216
   * 官方微信:ShareSDK   （如果发布新版本的话，我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题，也可以通过微信与我们取得联系，我们将会在24小时内给予回复）
   *
   * Copyright (c) 2013年 mob.com. All rights reserved.
   */
  
  package cn.sharesdk.onekeyshare.themes.classic;
  
  import android.content.Context;
  import android.graphics.Canvas;
  import android.graphics.Paint;
  import android.view.View;
  
  /** 九宫格滑动时，下面显示的圆圈 */
  public class IndicatorView extends View {
  	private static final int DESIGN_INDICATOR_RADIUS = 6;
  	private static final int DESIGN_INDICATOR_DISTANCE = 14;
  	private static final int DESIGN_BOTTOM_HEIGHT = 52;
  	/** 九格宫有多少页数 */
  	private int count;
  	/** 当前显示的是九格宫中的第几页 */
  	private int current;
  
  	public IndicatorView(Context context) {
  		super(context);
  	}
  
  	public void setScreenCount(int count) {
  		this.count = count;
  	}
  
  	public void onScreenChange(int currentScreen, int lastScreen) {
  		if (currentScreen != current) {
  			current = currentScreen;
  			postInvalidate();
  		}
  	}
  
  	protected void onDraw(Canvas canvas) {
  		if (count <= 1) {
  			this.setVisibility(View.GONE);
  			return;
  		}
  		float height = getHeight();
  		float radius = height * DESIGN_INDICATOR_RADIUS / DESIGN_BOTTOM_HEIGHT;
  		float distance = height * DESIGN_INDICATOR_DISTANCE / DESIGN_BOTTOM_HEIGHT;
  		float windowWidth = radius * 2 * count + distance * (count - 1);
  		float left = (getWidth() - windowWidth) / 2;
  		float cy = height / 2;
  
  		canvas.drawColor(0xffffffff);
  		Paint paint = new Paint();
  		paint.setAntiAlias(true);
  		for (int i = 0; i < count; i++) {
  			if (i == current) {
  				paint.setColor(0xff5d71a0);
  			} else {
  				paint.setColor(0xffafb1b7);
  			}
  			float cx = left + (radius * 2 + distance) * i;
  			canvas.drawCircle(cx, cy, radius, paint);
  		}
  	}
  
  }
  