package com.example.ex_templete;


import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Paint.Style;

import android.util.AttributeSet;

import android.util.DisplayMetrics;

import android.view.Display;

import android.view.View;

import android.view.WindowManager;


public class ViewPagerIndicator extends View {

private Paint paint;

private Paint forePaint;

private float foreOffset;

private static final int RADIUS = 10;

private static int PIVOT_X = 30;

private static final int PIVOT_Y = 30;

private static final int LEN = 3 * RADIUS;

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

int width = (7 - 1) * LEN + 2 * RADIUS;

int screenWidth = getScreenWidth();

PIVOT_X = (screenWidth - width) / 2;

for (int i = 0; i < 7; i++) {

canvas.drawCircle(PIVOT_X + i * 3 * RADIUS, PIVOT_Y, RADIUS, paint);

}

canvas.drawCircle(PIVOT_X + foreOffset, PIVOT_Y, RADIUS, forePaint);

}

// 得到屏幕的Width

private int getScreenWidth() {

WindowManager windowMgr = (WindowManager)

getContext().getSystemService

(Context.WINDOW_SERVICE);

Display display = windowMgr.getDefaultDisplay();

DisplayMetrics outMetrics = new DisplayMetrics();

display.getMetrics(outMetrics);

return outMetrics.widthPixels;

}


public void updateOffset(int position, float positionOffset)

{

foreOffset = position % 7 * LEN

+ positionOffset * LEN;

invalidate();

}


public ViewPagerIndicator(Context context, AttributeSet attrs) {

super(context, attrs);

paint = new Paint(Paint.ANTI_ALIAS_FLAG);

paint.setColor(Color.RED);

paint.setStyle(Style.STROKE);// 绌哄�

paint.setStrokeWidth(1);// 杈圭����搴�

forePaint = new Paint(Paint.ANTI_ALIAS_FLAG);

forePaint.setColor(Color.BLUE);

}

}


更多相关文章

  1. android中实现一个DrawerLayout滑动菜单
  2. Android中OnScrollListener的详解(Listview分批加载用到)
  3. 获取Android(安卓)手机屏幕宽度和高度以及获取Android手机序列号
  4. LinearLayout 让最后一个空间靠到屏幕底部
  5. android获取屏幕分辨率大小(DisplayMetrics)
  6. android 结束进程
  7. 修改dialog的大小
  8. android获取屏幕分辨率大小(DisplayMetrics)
  9. android 中让activity全屏幕显示

随机推荐

  1. Android触屏事件和MotionEvent介绍
  2. Android 小小白入门学习详解(不喝脉动,不吃
  3. Broadcast 广播 的接收 和发送 -- Androi
  4. 五成Android设备要向微软支付专利费
  5. android中的5个布局方式
  6. Android源码笔记--SystemUI
  7. 广州沙龙和微信、酷狗 欢聚时代的 Androi
  8. 用Chrome浏览器模拟手机,android,iphone,
  9. Android中的各种XML
  10. Android--socket 发送广播的那些坑