这几天研究了下文字的竖直滚动,是用ScrollView实现的,按下“启动”按钮,开始滚动,按下停止“按钮”,停止滚动
首先是Activity,
下面是xml配置
首先是Activity,
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ScrollView;
import android.widget.TextView;
public class ScrollActivity extends Activity {
/** Called when the activity is first created. */
ScrollView myscroll;
TextView tv;
int ori = 0;
Button stopButton, startButton, kanButton;
boolean isFlag = true;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
myscroll = (ScrollView) findViewById(R.id.sv);
myscroll.setVerticalScrollBarEnabled(false); //禁用垂直滚动
myscroll.setHorizontalScrollBarEnabled(false); //禁用水平滚动
stopButton = (Button)findViewById(R.id.stopButton);
stopButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
isFlag = false;
}});
startButton = (Button)findViewById(R.id.startButton);
startButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
isFlag = true;
startScroll();
}});
kanButton = (Button)findViewById(R.id.kanButton);
kanButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
int count = Thread.activeCount();
Thread[] ts = new Thread[count];
Thread.enumerate(ts);
for(Thread t : ts)
{
System.out.println(t.getName() + " ========= ");
}
}});
}
Handler h = new Handler() {
@Override
public void handleMessage(Message msg) {
doScrow();
}
};
//滚动
public void doScrow(){
int now = myscroll.getScrollY();
if(ori == now){
myscroll.scrollTo(now, 0);
ori = -1;
}
else {
myscroll.smoothScrollBy(10, 2);
ori = now;
}
}
//启动滚动线程
private void startScroll()
{
Runnable r = new TimerLoop();
final Thread loop = new Thread(r, "MyThread");
loop.start();
}
public class TimerLoop implements Runnable {
public void run() {
while(isFlag){
try {
Thread.currentThread().sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
h.sendEmptyMessage(0);
}
}
}
}
下面是xml配置
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ScrollView
android:id="@+id/sv"
android:layout_width="500px"
android:layout_height="50dip" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="钗头凤 陆游红酥手 黄藤酒 满城春色宫墙柳东风恶 欢情薄 一杯愁绪,几年离索错!错!错!
春如旧 人空瘦 泪痕红悒鲛绡透桃花落 闲池阁 山盟虽在 锦书难托莫! 莫! 莫!钗头凤 唐婉世情薄 人情
恶 雨送黄昏花易落晓风干 泪痕残 欲笺心事 独语斜阑难!难!难!人成各 今非昨 病魂常似秋千索
角声寒 夜阑珊 怕人寻问 咽泪装欢瞒! 瞒! 瞒!" />
</ScrollView>
<Button
android:id="@+id/stopButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结束"
/>
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动"
/>
<Button
android:id="@+id/kanButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查看活动线程"
/>
</LinearLayout>