继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

自定义飘落的字体

慕妹3146593
关注TA
已关注
手记 107
粉丝 14
获赞 39

看到飘落的雪花让我想起了飘落的字体
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("安卓巴士");
    }
}

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

5ba3bd9400019f2210801920.jpg

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP