手记

自定义飘落的字体

看到飘落的雪花让我想起了飘落的字体
1.首先自定义一个view继承View

public class fallView extends View{

}

2.实现fallView中的方法:在方法中初始化屏幕宽度、画笔、要执行的时间

public fallView(Context context, AttributeSet attrs) {
    super(context, attrs);

    // 初始化
    w = context.getResources().getDisplayMetrics().widthPixels;
    h = context.getResources().getDisplayMetrics().heightPixels;

    initPaint();

    new Thread(runnable).start(); // 开启线程
}

3.添加绘画的布:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    
    DrawLine(canvas,s, x, y, paint);

}
private void DrawLine(Canvas canvas,String s, int[] x2, int[] y2, Paint paint2) {

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

        canvas.drawText( s , x[i], y[i], paint);

    }
}

4.存储数据并且对外展示接口set

//存储的数据
private String s ;

public String getPollutant(){

    return s;
}
public void setPollutant(String s){

    this.s = s;
}

5.在该调用的地方调用:xml布局

<?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"
    android:background="#000000">

    <fall.huihui.com.fallView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/fall"/>

</RelativeLayout>

6.activity或者fragment中设置:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    private fallView fall;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fall = (fallView) findViewById(R.id.fall);
        fall.setPollutant("安卓巴士");
    }
}

以上便完成了字体下落动画,效果图展示:

原文链接:http://www.apkbus.com/blog-784586-63151.html

0人推荐
随时随地看视频
慕课网APP