欢迎界面的下方指示位置圆

package com.zzw.drawable;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class Circle extends View {
    private int posfirst = 0;
    // 圆球的数量
    private int count = 0;

    // 用这个构造方法,用其他会报错
    public Circle(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    // 根据情况设置圆球数量
    public void setCount(int a) {
        count = a;
    }

    public void choose(int pos) {
        posfirst = pos;
        // 执行这个方法 会重新绘图
        this.invalidate();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        Paint p = new Paint();
        // 去掉图形的锯齿,使得圆球更圆滑
        p.setAntiAlias(true);

        // 获取屏幕X Y坐标
        float w = getWidth();
        float h = getHeight();

        // 圆球的间距(针对各种机型屏幕适配)
        int juli = (int) (w / 7);

        // 设置圆球的半径(针对各种机型屏幕适配)
        float radius = w / 50;

        for (int i = 0; i < count; i++) {
            if (i == posfirst) {

                p.setColor(Color.RED);
                // 画一个红色圆形
                canvas.drawCircle((w - (count - 1) * juli) / 2 + juli * i, (float) (h * 0.9), radius + w / 142, p);
            } else {

                p.setColor(Color.GRAY);
                // 画一个灰色圆形
                canvas.drawCircle((w - (count - 1) * juli) / 2 + juli * i, (float) (h * 0.9), radius, p);

            }

        }

    }

}

使用的时候:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.zzw.imagedaohang.WelcomeActivity">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </android.support.v4.view.ViewPager>

    <com.zzw.drawable.Circle
        android:id="@+id/circle"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </com.zzw.drawable.Circle>

</RelativeLayout>
原文地址:https://www.cnblogs.com/zzw1994/p/5112983.html