android linearlayout如何自动滚到底部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android linearlayout如何自动滚到底部相关的知识,希望对你有一定的参考价值。

//layout
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:fadingEdge="vertical">
<LinearLayout
android:id="@+id/my_list"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
</ScrollView>
在代码中,我通过如下给此layout添加了子内容
for(int i=0;i<3;i++)
myList.addView(myGetViews("test"));
现在是内容很长,还得手动往上撮才能看到最新内容,我想让自动滚到最下面,如何做到?

方案:

1、需要在LinearLayout外部包裹上ScrollView

2、设置ScrollView滚动到底部

代码示例:

布局示意:
<ScrollView
    android:id="@+id/scroll_view"> 
<LinearLayout >
</LinearLayout>
</ScrollView>

java中调用
ScrollView sv = (ScrollView)findViewById(R.id.scroll_view);//获取scrollView组件
sv.fullScroll(ScrollView.FOCUS_DOWN);//滚动到底部

参考技术A 自动滚动的吗?还是直接跳转到。。如果直接跳转到可以有scrollTo(0, Y);这个Y就是你要到的位置
scrrollview.post(new Runnable()
@Override
public void run()
weizhi.scrollTo(0, Y); //Y为最整个高度就可以到最下面了

);追问

随便啦,只要能到低就行
weizhi是什么东东

追答

不好意思。。笔误。。是ScrollView对象

本回答被提问者和网友采纳
参考技术B 直接跳转到可以有scrollTo(0, Y).
这个Y就是你要到的位置
scrrollview.post(new Runnable()
@Override
public void run()
weizhi.scrollTo(0, Y); //Y为最整个高度就可以到最下面了

);
详情请见:http://zhidao.baidu.com/link?url=M6v0xtoO5-M17zMd7r3t2Zmky3YYBLDHGy4ImVxy0gOaLgmi4A27GXhguDNDDvo5iJB0_Uen-pvLiB-QwVxL7K

android 中多个TextView放在一个LinearLayout中,请问如何将TextView中的文字自动换行?或者修改布局实现

首先TextView的height设置成wrapcontent
其次TextView的singleLine属性不设置
参考技术A 只要TextView这个控件没有设置singleLine="true",就会自动换行的。 参考技术B 这个问题,google早就想好了的,你只需把TextView的高度设置成比你字体高度的两倍以上时他就会自动换行的

以上是关于android linearlayout如何自动滚到底部的主要内容,如果未能解决你的问题,请参考以下文章

Android - LinearLayout:如何在项目之间添加自动空间以水平填充布局

Android 自动换行的LinearLayout

android 中多个TextView放在一个LinearLayout中,请问如何将TextView中的文字自动换行?或者修改布局实现

android 如何使LinearLayout内控件的排列方向为自下至上

Android LinearLayout 自动换行

ScrollView