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);