让TextView 自带滚动条

转载 2013年12月02日 16:59:54

转载别人的文章,记下来,以便自己查询~~


在android上面让TextView 过多的文字实现有滚动条,之前想简单了以为设置TextView的属性就可以实现,结果还是需要ScrollView配合使用,才能达到滚动条的效果有两种方式实现,

一种是代码写java的layout

Java代码

  1. RelativeLayout.LayoutParams param new RelativeLayout.LayoutParams(80,80);   
  2. //初始化滚动条控件   
  3. ScrollView scrollView =new ScrollView(this);   
  4. scrollView.setScrollContainer(true);   
  5. scrollView.setFocusable(true);   
  6. //初始化文字控件   
  7. TextView textView new TextView(this);   
  8. textView.setHorizontallyScrolling(true);   
  9. textView.setText("走情感路线,哈哈哈,\n 走情感路线,哈哈哈");   
  10.   
  11. scrollView.addView(textView);   
  12. main_view.addView(scrollView, param);  
 

另一种则用layout.xml来实现

 

Xml代码
  1. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  
  2.         android:layout_width="fill_parent" android:layout_height="fill_parent"    
  3. android:scrollbars="vertical" android:fadingEdge="vertical">  
  4.         <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"    
  5. android:id="@+id/text_view" android:textColor="#071907" android:paddingTop="5dip" />  
  6. </ScrollView>  

=========================================================================================

一、Xml代码

  1. <TextView  
  2.     android:id="@+id/textview"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="wrap_content"  
  5.     android:singleLine="false"  
  6.     android:maxLines="5"  
  7.     android:scrollbars="vertical"  
  8.     />

二、还需要在代码中设置 TextView 相应的方法

  1. TextView textView = (TextView)findViewById(R.id.text_view);   
  2. textView.setMovementMethod(ScrollingMovementMethod.getInstance()); 

好了,大功告成。

 

附:

  顺便讲下 TextView 自动滚动的实现方法,下面介绍两种方法:

一、在代码中实现:

     textView .setEllipsize(TextUtils.TruncateAt.MARQUEE);
     textView .setSingleLine(true);
     textView .setMarqueeRepeatLimit(6);

二、在XML中实现:

 <TextView android:id="@+id/TextView01" android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:singleLine="true"
  android:text="dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
  android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee"
  android:scrollHorizontally="true" android:width="150dip"></TextView>

一切OK,当 textView 获取焦点后,就会自动滚动。

相关文章推荐

让TextView 自带滚动条

TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下: 1.android:ellipsize=”start”—–省略号显示在开头 2.android:el...
  • mccxxiv
  • mccxxiv
  • 2012年10月12日 15:18
  • 194

VC对话框自带滚动条如何使用

  • 2011年10月14日 15:25
  • 91KB
  • 下载

仿Android GridView以解决ScrollView中嵌套自带GridView滚动条冲突问题

有时候做Android开发难免会遇到ScrollView中qiant
  • xywhlzh
  • xywhlzh
  • 2014年10月22日 16:47
  • 656

Android基础——组件——TextView——带滚动条

当内容超过了TextView的显示范围,这个时候就需要TextView里面的内容滚动起来。 首先看下布局文件: ...
  • ayhlay
  • ayhlay
  • 2014年03月20日 15:53
  • 10301

android开发-TextView长文本,有滚动条

android开发-TextView长文本,有滚动条 先看效果,用一个textview保存很长很长的文字 布局 一个TextView,外面套一层ScrollView ...

TextView长文本,有滚动条

android开发-TextView长文本,有滚动条 先看效果,用一个textview保存很长很长的文字 布局 一个TextView,外面套一层ScrollView ...

C#关于自带滚动条控件的滚动条跳动问题

今天偶尔发现那个panel的垂直滚动条如果不做任何处理,每次获得焦点后位置老是变动。当拖动到某个位置,有另一个窗口挡住后,再显示出来它的滚动条就不在原来的位置了?这个怎么解决呢? 例如,窗口1的pa...

MFC用CButton实现带滚动条的图片显示控件,无须用CScrollBar辅助实现。

     我们知道MFC种的Picture控件基本上就是CStatic,而CStatic控件通过ShowScrollBar函数只可以使滚动条现实出来,但是不可以拖动,所以想只用CStatic控件实现大...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让TextView 自带滚动条
举报原因:
原因补充:

(最多只允许输入30个字)