在Activity画面中间添加闪烁的文字,

来源:互联网 发布:macbook air和pro 知乎 编辑:程序博客网 时间:2024/04/29 22:49

项目中需要添加在pc版上面的差不多的效果。比如在员工练习模式下,画面正中间不断闪烁几个汉字:“练习模式”.


或许这种方法不是很好,但我确实是这样做的。假定activity画面比较复杂的情况下。


代码其实很简单,直接贴上来了。

package com.example.sqlitepagetest;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Gravity;import android.view.View;import android.widget.Button;import android.widget.FrameLayout;import android.widget.LinearLayout.LayoutParams;import android.widget.TextView;/** * <p> * </p> * 下午11:52:59 *  * @auther dalvikCoder */public class Activity2 extends Activity {Button btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity2);btn = (Button) findViewById(R.id.btntrain);addAliveText();}private TextView aliveText;/** 文字闪烁线程 **/private TextThread textThread = null;private void addAliveText() {aliveText = new TextView(this);aliveText.setText("练习模式");aliveText.setTextColor(Color.RED);aliveText.setTextSize(50);aliveText.setBackgroundColor(Color.TRANSPARENT);aliveText.setGravity(Gravity.CENTER | Gravity.CENTER_VERTICAL);FrameLayout.LayoutParams p = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,Gravity.CENTER | Gravity.CENTER_VERTICAL);this.addContentView(aliveText, p);if (textThread == null) {textThread = new TextThread();textThread.start();}}/** * @author  练习模式文字闪烁 */public class TextThread extends Thread {@Overridepublic void run() {do {try {Thread.sleep(1 * 1000);// 每隔1s闪现一次Message msg = new Message();msg.what = 6;timeHandler.sendMessage(msg);} catch (InterruptedException e) {e.printStackTrace();}} while (true);}}private Handler timeHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case 6:if (aliveText.getVisibility() == View.VISIBLE) {aliveText.setVisibility(View.INVISIBLE);} else if (aliveText.getVisibility() == View.INVISIBLE) {aliveText.setVisibility(View.VISIBLE);}break;}}};}


当我们的activity比较复杂,而且用户点击画面响应事件时,这个闪动的文字,并不会影响事件处理。除非特地给他加了事件监听。


手机是用应用宝截图的,实际效果快些,感觉好些。


大家可以比较一下这两个方法的区别:


this.addContentView(aliveText, p);

setContentView(R.layout.activity2);




0 3
原创粉丝点击