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