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


    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>
  • 相关阅读:
    转:关于JAVA多线程同步
    转:Java HashMap实现详解
    索引创建规则:
    数据库为什么要分库分表
    [设计模式] javascript 之 桥接模式
    [百度地图] ZMap 与 MultiZMap 封装类说明;
    [设计模式] Javascript 之 外观模式
    [设计模式] javascript 之 代理模式
    [设计模式] javascript 之 装饰者模式
    [设计模式] javascript 之 适配器模式
  • 原文地址:https://www.cnblogs.com/zzw1994/p/5112983.html
Copyright © 2020-2023  润新知