让TextView 自带滚动条
来源:互联网 发布:java 不定参数 编辑:程序博客网 时间:2024/04/30 23:55
文字左右滚动三个属性:
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟 ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现。
01
<
TextView
02
android:id
=
"@+id/tvCWJ"
03
android:layout_width
=
"fill_parent"
04
android:layout_height
=
"wrap_content"
05
android:scrollbars
=
"vertical"
<!--垂直滚动条 -->
06
android:singleLine="false"
<!--实现多行 -->
07
android:maxLines="15"
<!--最多不超过15行 -->
08
android:textColor="#FF0000"
09
/>
10
11
<
TextView
12
android:id
=
"@+id/app_shortcontent"
13
android:layout_width
=
"wrap_content"
14
android:layout_height
=
"wrap_content"
15
android:singleLine
=
"true"
16
android:textColor
=
"#FFFFFFFF"
17
android:scrollHorizontally
=
"true"
18
android:focusable
=
"true"
19
android:ellipsize
=
"marquee"
20
android:marqueeRepeatLimit
=
"marquee_forever"
/>
当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下
1
TextView tv = (TextView)findViewById(R.id.tvCWJ);
2
tv.setMovementMethod(ScrollingMovementMethod.getInstance());
3
// Android开发网提示相关的可以查看SDK中android.text.method分支了解更多
附:
顺便讲下 TextView 自动滚动的实现方法,下面介绍两种方法:
一、在代码中实现:
1
textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
2
textView.setSingleLine(
true
);
3
textView.setMarqueeRepeatLimit(
6
);
二、在XML中实现:
1
<
TextView
android:id
=
"@+id/TextView01"
android:layout_width
=
"wrap_content"
2
android:layout_height
=
"wrap_content"
android:singleLine
=
"true"
3
android:text
=
"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
4
android:marqueeRepeatLimit
=
"marquee_forever"
android:ellipsize
=
"marquee"
5
android:scrollHorizontally
=
"true"
android:width
=
"150dip"
></
TextView
>
一切OK,当 textView 获取焦点后,就会自动滚动。
补充==============================
不管是手动还是自动 你要实现滚动就得加scrollview
到时候可以通过handle来调用scrollview的scrollTo方法实现滚动
1
Handler mHandler =
new
Handler();
2
3
private
Runnable mScrollToBottom =
new
Runnable() {
4
public
void
run() {
5
mScrollView.scrollTo(
0
, offset);
6
}
7
};
onTouch里面
1
mHandler.post(mScrollToBottom);
补充:
1,把 textview的 Ellipsize 设置成 marquee(上面有说)
2,把 Deprecated的 Single line 设置成 true
3,设置textview的Marquee repeat limit 属性(滚动回数,默认是无数回)
贴个代码吧.
1
textview.setEllipsize(TextUtils.TruncateAt.MARQUEE);
2
textview.setSingleLine(
true
);
3
textview.setMarqueeRepeatLimit(
6
);
0 0
- 让TextView 自带滚动条
- 让TextView 自带滚动条
- 让 TextView 自带滚动条
- 让 TextView 自带滚动条
- 让TextView 自带滚动条
- 让TextView 自带滚动条
- 让 TextView 自带滚动条
- 让TextView 自带滚动条
- 让TextView 自带滚动条
- 让TextView 自带滚动条
- 让 TextView 自带滚动条
- android 让TextView自带滚动条
- 带滚动条TextView
- 设置带滚动条的TextView
- Android设置带滚动条的TextView
- 设置带滚动条的TextView
- 设置带滚动条的TextView
- 让TextView 有滚动条的效果
- dadafa
- 设计模式C++实现_2_简单工厂模式
- 关于GIT资料整理
- 电脑做网站服务器
- mysql的触发器和oracle触发器的区别
- 让TextView 自带滚动条
- POI格式化Cell样式
- Eclipse 如何切换工作空间(workspace)
- memcached(windows)安装与配置
- JAVA File的创建及相对路径绝对路径
- jsp中的包含标签的解释
- com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此
- PHP通过字符串调用函数
- FMDB有三个主要的类