Vista personalizada, barra de audio reproductor de música imitar

Esto está escrito desde el proceso de implementación de la música de audio de desplazamiento barra de definición del punto de vista, tengo dos puntos aquí inspirados, lo apunto para su posterior revisión.
Que utiliza método postInvalidateDelayed (larga mil) para actualizar la vista la opinión de que el mecanismo subyacente usando un manipulador, el mecanismo controlador no está dentro del alcance de la práctica, no repetirlos.
El código principal es el siguiente:

    private float offset = 5;//矩形条之间的间距
    private float width ;//矩形条的宽度
    private float baseheight;//此View的高度
    private float height ;//每个矩形条的高度(随机获取,每次不一样)
    private int rectSize = 10;//矩形条的数量

    private Paint mpaint;

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

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

            //每次绘制前随机计算一个矩形条的高度
            double random = Math.random();
            height = (float)(baseheight*random);


            canvas.drawRect((width +offset)*i,
                    height,
                    (width+offset)*i+width,
                    baseheight,mpaint);
        }

        //刷新view,每300毫秒执行一次ondraw()
        postInvalidateDelayed(300);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);

        //再次方法中初始化一些变量,次方发在View测量大小后执行
        baseheight  = getMeasuredHeight();
        width = (getMeasuredWidth()- offset*9)/rectSize ;
        initPaint();
    }

    public void initPaint(){
        mpaint = new Paint();
        mpaint.setColor(Color.BLUE);
        mpaint.setStyle(Paint.Style.FILL);
    }

Disposición cita:

<com.demo.alldemos.diyviews.MusicView
        android:layout_width="200dp"
        android:layout_height="200dp" />

El número de código de barra rectangular es de 10 niños murieron dan, si es necesario, cambiar las propiedades personalizadas.

Publicado 17 artículos originales · ganado elogios 12 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_24295537/article/details/50912493
Recomendado
Clasificación