一、在Android,一个单独的TextView是无法滚动的,需要放在一个ScrollView中。
ScrollView提供了一系列的函数,其中fullScroll用来实现FOCUS_UP和FOCUS_DOWN键的功能,也就是滚动到顶部和底部。
如果在TextView的append后面马上调用fullScroll,会发现无法滚动到真正的底部,这是因为Android下很多函数都是基于消息的,用消息队列来保证同步,所以函数调用多数是异步操作的。
有消息队列是异步的,消息队列先滚动到底部,然后textview的append方法显示。所以无法正确滚动到底部。
解决办法:
final ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView1);
if (scrollView != null) {
scrollView.post(new Runnable() {
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
}
二、listview与滚动条一起使用,禁止listview的滚动,使用滚动条滚动到listview的底部
把上面代码run里面那句换为这个scrollView.scrollTo(0, mlistViewList.getHeight());
三、listview内部高度计算函数
当listview与垂直滚动条一起使用时候,如果只用外部scrollView,而不使用listview滚动。需要下面的函数来计算listview当前高度。
public static void ReCalListViewHeightBasedOnChildren(ListView listView) {
if (listView == null) return;
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) return;
int nTotalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
nTotalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = nTotalHeight + (listView.getDividerHeight()*(listAdapter.getCount()-1));
}
PS:对于APP安全检测一般我都会用:
http://www.ineice.com
分享到:
相关推荐
本文实例讲述了Android TextView实现垂直滚动效果的方法。分享给大家供大家参考,具体如下: 在TextView中,如果文本很长,可能需要实现垂直滚动显示文本的效果。这里需要在XML布局文件中为TextView设置如下几个属性...
Android:TextView的垂直滚动效果和上下滚动效果,原生动画实现
android TextView android TextView
Android TextView自动滚动,可以上下自动滚动也可以左右自动滚动,使用方便
这是一个关于TextView上下滚动的效果,详情请前往博客浏览http://blog.csdn.net/u014452224/article/details/53101507
Android实现TextView文字滚动
最近在项目中使用textview时发现在使用Android:layout_height=”wrap_content”这个属性设置后,textview会有默认的padding,也就是fontpadding。这样就会造成textview和其他view中间的间距会比自己的设置的大。那么...
android TextView 支持CSS样式
多条新闻的title横向滚动播放,并可点击。
两个经典例子,包括android TextView水平滚动和垂直滚动效果
android之点击自动滚动textview
android实现TextView文字部分渐变色;LinearGradientFontSpan SpannableString
Android textview 文字中间加上图片
嵌入式Android项目设计与开发 第四章 基本控件编程 ——文本框TextView 引言 Android为编程人员提供了大量的控件,这些控件能实现各类型的功能,正如之前学习过的button和Toast。 本章节我们选取几个较为常用的控件...
Android LyricView that accepts lrc stream as input, it is used in my project LyricHere. This library offers a simple view that accepts lrc stream as input, shows lyric and automatically move according...
主要介绍了Android实现在TextView文字过长时省略部分或滚动显示的方法,结合实例形式分析了Android中TextView控件文字显示及滚动效果相关操作技巧,需要的朋友可以参考下
MTextView,解决Android TextView提前换行的问题
android textview 文字排版 换行
利用scrollview来实现TextView中滚动条效果会好很多,具体代码如下,感兴趣的朋友可以参考下哈