android TextView 滚动条自动滚动最底

1.布局文件:

<Button
        android:id="@+id/btn_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ADD" />

    <ScrollView
        android:id="@+id/scrollview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fadeScrollbars="false"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbars="vertical" >

        <TextView
            android:id="@+id/show"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scrollbars="vertical" />
    </ScrollView>

2.代码实现:

tvShow = (TextView) findViewById(R.id.show);
		btnAdd = (Button) findViewById(R.id.btn_add);
		mScrollView = (ScrollView) findViewById(R.id.scrollview);

		btnAdd.setOnClickListener(this);

		tvShow.requestFocus();
public static void scroll2Bottom(final ScrollView scroll, final View inner) {
		Handler handler = new Handler();
		handler.post(new Runnable() {

			@Override
			public void run() {
				// TODO Auto-generated method stub
				if (scroll == null || inner == null) {
					return;
				}
				int offset = inner.getMeasuredHeight() - scroll.getMeasuredHeight();
				if (offset < 0) {
					offset = 0;
				}
				scroll.scrollTo(0, offset);
			}
		});
	}

3.用法:

scroll2Bottom(mScrollView, tvShow);

第二种用法:

xml文件:

<TextView
        android:id="@+id/show"
        android:layout_width="match_parent"
        android:scrollbars="vertical"
        android:layout_height="0dp"
         android:gravity="bottom"
        android:layout_weight="1" />

 java代码:

textView = (TextView)findViewById(R.id.show);
		textView.setMovementMethod(new ScrollingMovementMethod());
		textView.append(message);

相关推荐