`
lws0402
  • 浏览: 109092 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ScrollView文字竖直滚动

 
阅读更多
这几天研究了下文字的竖直滚动,是用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>
分享到:
评论

相关推荐

    scrollView自动循环滚动

    在iOS开发中,ScrollView是一种常见的视图控件,用于展示可滚动的内容,如图片、文本等。当需要实现像轮播图这样的效果,即图片自动循环滚动时,我们可以结合ScrollView和NSTimer来实现这一功能。以下将详细讲解如何...

    SCrollView自动滚动视图

    ScrollView是iOS开发中常见的一种控件,用于展示可滚动的内容,比如长文本、多张图片或者复杂的用户界面。在本项目"SCrollView自动滚动视图"中,开发者旨在实现一个具备循环翻页效果的ScrollView,它能自动滚动并...

    ScrollView循环滚动

    在Android开发中,ScrollView是一个常用的布局控件,用于显示单个垂直滚动的视图。它允许用户通过滑动来查看超出屏幕范围的内容。当我们需要实现一个ScrollView无限循环滚动的效果时,通常需要进行自定义开发。这个...

    Scrollview的自动滚动

    显示dialog, Scrollview自动滚动

    解决ScrollView,ListView滚动条冲突

    在Android开发中,ScrollView和ListView是两种常用的布局控件,分别用于实现单向滚动和多行列表滚动。然而,当这两个控件同时出现在一个布局中时,常常会出现滚动条冲突的问题,导致用户体验下降。本篇文章将详细...

    ScrollView 的滚动事件监听

    在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户在单个屏幕上滚动查看超过一屏幕内容的视图。ScrollView通常用于包含多个其他视图,如TextView、ImageView或者LinearLayout等,以提供垂直滚动功能...

    Android双向滚动ScrollView

    在Android开发中,ScrollView是常用的布局控件,用于实现单向滚动,但有时我们需要实现一个可以双向滚动的视图,这就涉及到了自定义组件的知识。本文将深入解析如何实现一个支持垂直和水平双向滚动的ScrollView。 ...

    ScrollView嵌套GridView不能滚动的问题解决方案

    ScrollView嵌套GridView不能滚动的问题解决方案 在 Android 开发中,我们经常会遇到 ScrollView 嵌套 GridView 的问题,导致页面不能滚动的问题。这个问题的出现是因为 ScrollView 和 GridView 都带有滚动条,当...

    ScrollView自动滚动

    ScrollView是Android开发中常用的一个控件,主要用于展示可滚动的内容,比如长文本、多张图片或者多个按钮等。在实际应用中,我们有时需要实现ScrollView的自动滚动功能,以达到某种动态效果或交互体验。本篇文章将...

    fragmeng+viewpager+顶部scrollview横向自动滚动

    在Android开发中,"Fragment+ViewPager+顶部ScrollView横向自动滚动"是一个常见的应用场景,主要用于构建复杂的用户界面,提供丰富的交互体验。下面将详细讲解这个主题涉及的知识点。 **1. Fragment** Fragment是...

    scrollView的循环滚动

    本篇文章将详细讲解如何实现"scrollView的循环滚动",包括手动和自动滚动,并讨论如何结合`UIPageControl`来识别当前页面。 一、ScrollView基础 `UIScrollView` 是苹果提供的一个可滚动视图,可以容纳比视图本身大...

    Cocos Creator ScrollView 支持多种滚动,加载,刷新,嵌套,分页

    支持上拉加载、下拉刷新 支持无限循环滚动 分帧创建item 循环分页 pageview 嵌套分页 pageview 支持表格布局Grid 支持不定宽高缩放自适应,item在运行时可随意更改宽高和缩放 支持滑动自动居中,居中锚点可自定义

    安卓scrollview动画滚动到顶部

    在Android开发中,ScrollView是一个非常常用的布局控件,它允许用户在内容超出屏幕时通过滚动查看更多的信息。本文将深入探讨如何实现一个ScrollView动画滚动到顶部的功能,这在很多应用场景中都非常有用,例如用户...

    判断scrollView滚动结束

    重写scrollView的onTouchEvent事件,在MotionEvent.ACTION_CANCEL和MotionEvent.ACTION_UP中通过反射获取scrollview中的OverScroller,然后获取OverScroller的状态判断scrollview是否结束滚动

    Unity嵌套滚动ScrollView.zip

    在Unity中,ScrollView组件(ScrollRect)是实现滚动列表的关键,它允许用户在超出屏幕范围的内容中进行滚动浏览。本项目“Unity嵌套滚动ScrollView.zip”着重探讨了如何在Unity中实现ScrollView的嵌套,即在一个...

    ios-scrollview上下循环滚动.zip

    "ios-scrollview上下循环滚动.zip"这个资源包,显然关注的是如何实现一个自上而下的循环滚动视图效果。这种效果常见于轮播图、新闻滚动条等场景,它可以无缝地从最后一个元素滚动到第一个元素,反之亦然,给用户带来...

    cocos2d-x 2.x 滚动视图ScrollView

    在cocos2d-x 2.x版本中,`ScrollView`是一个非常重要的组件,它允许用户在有限的显示区域内查看和滚动超出可视区域的内容。ScrollView通常用于实现类似滚动列表、长篇文本阅读或图像浏览等功能。在本文中,我们将...

    ScrollView缓慢滚动到指定位置的标准自定义

    在Android开发中,ScrollView是一个非常常见的布局控件,它允许用户通过滚动查看超过屏幕大小的内容。然而,当需要让ScrollView平滑地滚动到特定位置时,标准的`scrollTo()`方法可能会表现出不理想的效果,因为它会...

    uniapp-scrollview实现双联动.zip

    在本文中,我们将深入探讨如何使用uni-app的ScrollView组件实现双联动效果,这是一种常见的前端交互设计,常见于导航菜单与内容区域的同步滚动。在微信小程序等移动应用开发中,这种功能可以提供良好的用户体验,使...

    优化无限循环滚动的ScrollView

    简单几句代码就可以集成无限滚动的ScrollView。 通过新的方式去实现无限滚动功能,模式采用类似UITableView的机制,在代理中给你的滚动view赋值,只要是UIView都可以,不需要一定是UIImageView。 摒弃了普通思路在...

Global site tag (gtag.js) - Google Analytics