`
liming1022
  • 浏览: 8108 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

神秘火星文特效

阅读更多

大家好,我是黎明。今天我做的是一个关于火星文的特效,供大家使用和欣赏。主要是结合了自定义控件的一些知识,希望大家能喜欢.附如下代码:

这是全屏火星文的代码:

public class HkText extends View {
	
	private char[] counts = new char[]{'A','B','C','D','E','F','G','H','J','K','L','M','N','O'};
	
	private Paint paint;
	
	private Context ctx;
	
	public HkText(Context context, AttributeSet attrs) {
		super(context, attrs);
		ctx = context;
		init();
	}

	/**
	 * 像素值
	 */
	private int textSize = 20;
	
	private void init() {
		paint = new Paint();
		paint.setAntiAlias(true);
		paint.setColor(Color.WHITE);
		paint.setTextSize(textSize);//PX值
		paint.setTextAlign(Align.LEFT);
		
		paint.setStyle(Style.FILL);
	}

//	private float sp2px(int sp){
//		TypedValue.applyDimension(
//				TypedValue.COMPLEX_UNIT_SP, sp, ctx.getResources().getDisplayMetrics());
//		
//		float px = sp *  ctx.getResources().getDisplayMetrics().scaledDensity;
//		return px;
//	}
//	
//	private float px2sp(int px){
//		float sp = px / ctx.getResources().getDisplayMetrics().scaledDensity;
//		return sp;
//	}
	
	@Override
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
		super.onMeasure(widthMeasureSpec, heightMeasureSpec);
		Utils.logleo("getWidth()::"+getWidth());
		Utils.logleo("getHeight()::"+getHeight());
		
		textSize = getWidth()/10;
	}
	
	public float left = 150;
	public float left_bottom = 200;
	
	private Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
//			int flag = msg.what;// 0 -- 10 
			
//			paint.setColor(Color.BLUE);
			invalidate();
		};
	};
	
	private int seed = 0;
	
	private int stepCount = 11;

 以下是单列火星文的代码,可以先看这个,在结合这个看上面的。

public class HkText extends View {
	
	private char[] counts = new char[]{'A','B','C','D','E','F','G','H','J','K','L','M','N','O'};
	
	private Paint paint;
	
	private Context ctx;
	
	public HkText(Context context, AttributeSet attrs) {
		super(context, attrs);
		ctx = context;
		init();
	}

	/**
	 * 像素值
	 */
	private int textSize = 20;
	
	private void init() {
		paint = new Paint();
		paint.setAntiAlias(true);
		paint.setColor(Color.WHITE);
		paint.setTextSize(textSize);//PX值
		paint.setTextAlign(Align.LEFT);
		
		paint.setStyle(Style.FILL);
	}

//	private float sp2px(int sp){
//		TypedValue.applyDimension(
//				TypedValue.COMPLEX_UNIT_SP, sp, ctx.getResources().getDisplayMetrics());
//		
//		float px = sp *  ctx.getResources().getDisplayMetrics().scaledDensity;
//		return px;
//	}
//	
//	private float px2sp(int px){
//		float sp = px / ctx.getResources().getDisplayMetrics().scaledDensity;
//		return sp;
//	}
	
	@Override
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
		super.onMeasure(widthMeasureSpec, heightMeasureSpec);
		Utils.logleo("getWidth()::"+getWidth());
		Utils.logleo("getHeight()::"+getHeight());
		
		textSize = getWidth()/10;
	}
	
	public float left = 150;
	public float left_bottom = 200;
	
	private Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
//			int flag = msg.what;// 0 -- 10 
			
//			paint.setColor(Color.BLUE);
			invalidate();
		};
	};
	
	private int seed = 0;
	
	private int stepCount = 11;
	
	
	@Override
	protected void onDraw(Canvas canvas) {

		left = 10;
		left_bottom = 400;
		for (int i = 0; i < 20; i++) {

			int seed_tem = seed;

			int alpha = 255 - (i + seed_tem) * 25;
			paint.setAlpha(alpha);// 0是没有

			canvas.drawText(counts, i % counts.length, 1, left, left_bottom,paint);

			left_bottom = (float) (left_bottom - textSize * 0.6);

		}
		seed = (seed + 1) % stepCount;
		handler.sendEmptyMessageDelayed(seed, 500);
	}

	
}

 

 

 

0
0
分享到:
评论

相关推荐

    js火星文转化,html火星文转化

    js火星文转化js火星文转化js火星文转化js火星文转化js火星文转化js火星文转化

    火星文输入法|火星文输入法

    火星文输入法火星文输入法火星文输入法火星文输入法

    火星文转换器-用于中文转换火星文的软件

    一个用C#写的火星文和特殊字符转换制作软件,程序简洁实用,可以对输入的中英文进行火星化的转换同时也可以进行还原,还可以对各种中文输入加入各种漂亮的符号让文章更生动充满活力。

    火星文输入法V2.4

    提供了5种皮肤(有女生专用皮肤哦)供您选择,还增加了火星文转换器、QQ签名美化、线体字转换器等多款火星文工具,以及自定义火星文、火星符号等实用功能……更多神秘功能期待您下载体验! “火星文输入法”被广泛...

    火星文输入法 v2.9.6.zip

    提供了5种皮肤(有女生专用皮肤哦)供您选择,还增加了火星文转换器、QQ签名美化、线体字转换器等多款火星文工具,以及自定义火星文、火星符号等实用功能……更多神秘功能期待您下载体验!  “火星文输入法”被...

    易语言源码火星文转换源码

    易语言 火星文火星文转换源码火星文转换源码火星文转换源码E火星文转换源码火星文转换源码火星文转换源码火星文转换源码火星文转换源码火星文转换源码火星文转换源码火星文转换源码火星文转换源码

    火星文转换器 v2.0.0.9.zip

    1、火星文转换器 支持实时转换、签名美化、全面转换、快速转换、用户自定义转换。 2、输入法外挂模式 支持打字简体自动转火星文、简体转繁体、简体转异体、繁体转简体。 3、火星文翻译器 支持词汇优先、单字...

    简体汉字转换成火星文jar包

    自己写的一个简体汉字转换成火星文的jar包。

    易语言火星文转换器

    易语言火星文转换器源码,火星文转换器,解码火星文

    QQ用户的新宠超炫的火星文输入法

    “火星文输入法外挂”是一款超炫的火星文即时转换软件,时下QQ用户的新宠,非主流一族的最爱!请注意,它可不是单纯的输入法软件哦,而是可以兼容所有中文输入法(例如搜狗拼音输入法、极品五笔输入法等)的外挂程序...

    火星文输入法 输入法

    火星文输入不再难 放在输入界面内 自动装换成火星文

    火星文转换器V2.0.0.9官方免费安装版

    火星文转换器能够帮助用户将普通文件转换为火星文,并支持用户自定义以及签名美化等实用功能。软件功能强大、方便实用,是火星文爱好者必备神器,需要的话可以来下载使用。  功能介绍 火星文转换器、火星文翻译器...

    火星文输入法是一款火星文即时转换软件,兼容所有中文输入法,是新新人类QQ聊天的必备工具。

    火星文输入法是一款火星文即时转换软件,兼容所有中文输入法,是新新人类QQ聊天的必备工具。

    火星文转换器 junnel

    火星文转换器,junnel 火星文转换器 simigo

    火星文翻译器

    很好玩的东东,可以吧汉字翻译成火星文,算是新手练手的东东吧

    易语言源码火星文转换器源码.rar

    易语言源码火星文转换器源码.rar 易语言源码火星文转换器源码.rar 易语言源码火星文转换器源码.rar 易语言源码火星文转换器源码.rar 易语言源码火星文转换器源码.rar 易语言源码火星文转换器源码.rar

    火星文输入法v3.0.0.0

    火星文输入法是一款火星文字输入工具,兼容所有中文输入法,是史上最强的火星文字体转换工具,而且每次转换出来的字都是不同,让你在与朋友聊天时有一种于众不同的感觉。连打字都非主流啦,只要你会打字,你就能...

    火星文转换器

    可以简单的将简体中文转换为火星文网络字体 作为网名和qq个性签名

    火星文转换器--gongj

    火星文转换器

    火星文转换包

    直接调用HuoXingTransfer.toHuoXingWen(str)便可 把str转换成火星文。。

Global site tag (gtag.js) - Google Analytics