android使用Handler进程完成文字切换Demo(文字跑马灯效果+文字闪烁) ... [复制链接]

2019-8-29 11:18
奶油话梅糖 阅读:137 评论:2 赞:1
Tag:  

↑软件图标、名称

基于android 4.x

开发程序:Eclicps


XML界面:

(由于没有录制软件而且电脑卡就没有GIF图)

[代码]xml代码:

<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"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/tv_tips_text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/hello_world"
        android:textSize="90sp" />

    <ToggleButton
        android:id="@+id/tg_start"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="ToggleButton" />

</RelativeLayout>


[代码]java代码:

package com.example.androidtextshanashan;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.ToggleButton;

/*
 * @文件名:MainActivity.java
 * @描述:完成文字切换
 * @作者:邢启瑞
 * @版权:Bilibili 奶油话梅糖
 * @时间:2019-8-29
 * @author Administrator
 */
public class MainActivity extends Activity {
	int number = 0;// int数值
	TextView tv_tips_text;// 文本
	ToggleButton tg_start;// 按钮

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		tv_tips_text = (TextView) findViewById(R.id.tv_tips_text);
		tg_start = (ToggleButton) findViewById(R.id.tg_start);
		// 设置开关点击事件
		tg_start.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (isChecked) {
					handler.post(timeRunnable);
				} else {
					handler.removeCallbacks(timeRunnable);
					tv_tips_text.setText("你好世界");
				}
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	/*
	 * @方法名:handler
	 * 
	 * @功 能:切换文字显示内容
	 * 
	 * @时 间:上午10:59:01
	 */
	Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			super.handleMessage(msg);
			if (msg.what % 2 == 0) {
				tv_tips_text.setText("你好世界");
			} else {
				tv_tips_text.setText("Hello world!");
			}
			handler.postDelayed(timeRunnable, 1000);
		}
	};
	Runnable timeRunnable = new Runnable() {

		@Override
		public void run() {
			// TODO Auto-generated method stub
			number++;
			Message msg = handler.obtainMessage();
			msg.what = number;
			handler.sendMessage(msg);
		}
	};
}
效果图(开关按下时“你好世界”和“Hello World”交替显示):


我来说两句
您需要登录后才可以评论 登录 | 立即注册
facelist
所有评论(2)
羽殇~ 2019-8-29 17:59
  
回复
奶油话梅糖 2019-8-29 20:17
羽殇~:   
  
回复
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:[email protected]

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )

阿拉斯加垂钓APP下载