《Android 应用》TextView追加文本并向下滚动

来源:互联网 发布:雷蛇2000 mac驱动 编辑:程序博客网 时间:2024/06/05 20:11

TextView追加文本并向下滚动


xml上放置一个textview和一个按钮.按钮点击一次,换行并追加一行信息.

  • activity_main.xml如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <TextView        android:id="@+id/logView"        android:layout_width="match_parent"        android:layout_height="200dip"        android:fadeScrollbars="false"        android:scrollbars="vertical"        android:textColor="#ffffff"        android:text=""        android:background="#000000"        android:textAppearance="?android:attr/textAppearanceMedium" />    <Button        android:id="@+id/btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/logView"        android:layout_below="@+id/logView"        android:layout_marginLeft="14dp"        android:layout_marginTop="17dp"        android:text="Button" /></RelativeLayout>
  • MainActivity.java如下
public class MainActivity extends Activity implements OnClickListener{    private TextView tv;    private Button btn;    private int offset;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv = (TextView) findViewById(R.id.logView);        tv.setMovementMethod(ScrollingMovementMethod.getInstance());        btn = (Button) findViewById(R.id.btn);        btn.setOnClickListener(this);    }    @Override    public void onClick(View v) {        // TODO Auto-generated method stub        tv.append("大王叫我来巡山\n");        offset=tv.getLineCount()*tv.getLineHeight();            if(offset>tv.getHeight()){                tv.scrollTo(0,offset-tv.getHeight());            }    }}
1 0
原创粉丝点击