这几天研究了下文字的竖直滚动,是用ScrollView实现的,按下“启动”按钮,开始滚动,按下停止“按钮”,停止滚动
首先是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>
分享到:
相关推荐
在iOS开发中,ScrollView是一种常见的视图控件,用于展示可滚动的内容,如图片、文本等。当需要实现像轮播图这样的效果,即图片自动循环滚动时,我们可以结合ScrollView和NSTimer来实现这一功能。以下将详细讲解如何...
ScrollView是iOS开发中常见的一种控件,用于展示可滚动的内容,比如长文本、多张图片或者复杂的用户界面。在本项目"SCrollView自动滚动视图"中,开发者旨在实现一个具备循环翻页效果的ScrollView,它能自动滚动并...
在Android开发中,ScrollView是一个常用的布局控件,用于显示单个垂直滚动的视图。它允许用户通过滑动来查看超出屏幕范围的内容。当我们需要实现一个ScrollView无限循环滚动的效果时,通常需要进行自定义开发。这个...
显示dialog, Scrollview自动滚动
在Android开发中,ScrollView和ListView是两种常用的布局控件,分别用于实现单向滚动和多行列表滚动。然而,当这两个控件同时出现在一个布局中时,常常会出现滚动条冲突的问题,导致用户体验下降。本篇文章将详细...
在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户在单个屏幕上滚动查看超过一屏幕内容的视图。ScrollView通常用于包含多个其他视图,如TextView、ImageView或者LinearLayout等,以提供垂直滚动功能...
在Android开发中,ScrollView是常用的布局控件,用于实现单向滚动,但有时我们需要实现一个可以双向滚动的视图,这就涉及到了自定义组件的知识。本文将深入解析如何实现一个支持垂直和水平双向滚动的ScrollView。 ...
ScrollView嵌套GridView不能滚动的问题解决方案 在 Android 开发中,我们经常会遇到 ScrollView 嵌套 GridView 的问题,导致页面不能滚动的问题。这个问题的出现是因为 ScrollView 和 GridView 都带有滚动条,当...
ScrollView是Android开发中常用的一个控件,主要用于展示可滚动的内容,比如长文本、多张图片或者多个按钮等。在实际应用中,我们有时需要实现ScrollView的自动滚动功能,以达到某种动态效果或交互体验。本篇文章将...
在Android开发中,"Fragment+ViewPager+顶部ScrollView横向自动滚动"是一个常见的应用场景,主要用于构建复杂的用户界面,提供丰富的交互体验。下面将详细讲解这个主题涉及的知识点。 **1. Fragment** Fragment是...
本篇文章将详细讲解如何实现"scrollView的循环滚动",包括手动和自动滚动,并讨论如何结合`UIPageControl`来识别当前页面。 一、ScrollView基础 `UIScrollView` 是苹果提供的一个可滚动视图,可以容纳比视图本身大...
支持上拉加载、下拉刷新 支持无限循环滚动 分帧创建item 循环分页 pageview 嵌套分页 pageview 支持表格布局Grid 支持不定宽高缩放自适应,item在运行时可随意更改宽高和缩放 支持滑动自动居中,居中锚点可自定义
在Android开发中,ScrollView是一个非常常用的布局控件,它允许用户在内容超出屏幕时通过滚动查看更多的信息。本文将深入探讨如何实现一个ScrollView动画滚动到顶部的功能,这在很多应用场景中都非常有用,例如用户...
重写scrollView的onTouchEvent事件,在MotionEvent.ACTION_CANCEL和MotionEvent.ACTION_UP中通过反射获取scrollview中的OverScroller,然后获取OverScroller的状态判断scrollview是否结束滚动
在Unity中,ScrollView组件(ScrollRect)是实现滚动列表的关键,它允许用户在超出屏幕范围的内容中进行滚动浏览。本项目“Unity嵌套滚动ScrollView.zip”着重探讨了如何在Unity中实现ScrollView的嵌套,即在一个...
"ios-scrollview上下循环滚动.zip"这个资源包,显然关注的是如何实现一个自上而下的循环滚动视图效果。这种效果常见于轮播图、新闻滚动条等场景,它可以无缝地从最后一个元素滚动到第一个元素,反之亦然,给用户带来...
在cocos2d-x 2.x版本中,`ScrollView`是一个非常重要的组件,它允许用户在有限的显示区域内查看和滚动超出可视区域的内容。ScrollView通常用于实现类似滚动列表、长篇文本阅读或图像浏览等功能。在本文中,我们将...
在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户通过滚动查看超过屏幕大小的内容。然而,当需要让ScrollView平滑地滚动到特定位置时,标准的`scrollTo()`方法可能会表现出不理想的效果,因为它会...
在本文中,我们将深入探讨如何使用uni-app的ScrollView组件实现双联动效果,这是一种常见的前端交互设计,常见于导航菜单与内容区域的同步滚动。在微信小程序等移动应用开发中,这种功能可以提供良好的用户体验,使...
简单几句代码就可以集成无限滚动的ScrollView。 通过新的方式去实现无限滚动功能,模式采用类似UITableView的机制,在代理中给你的滚动view赋值,只要是UIView都可以,不需要一定是UIImageView。 摒弃了普通思路在...