最近做个demo,涉及到一些UI,总结如下:

1.需要做一个可以多行显示log的textview,之前打算通过设置控件属性来实现,但是试了很多办法似乎不行,最后的办法如下:

    <TextView

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:id="@+id/textView_log"

                android:gravity="top"

                android:maxLines="20"

                android:singleLine="false" />

在打印每一行log之前:

    TextView log_testView =(TextView)findViewById(R.id.textView_log);

    String log = log_testView.getText().toString();

    log_testView.setText("from:" + from +" msg:" + msg + "\n\r" + log);

这样显示内容就从顶部刷新了。


2.activity起来以后焦点总是在第一个textedit控件,并且弹出输入面板,在mainfest.xml中相应<activity段加入:android:windowSoftInputMode="adjustResize|stateHidden" 可以不弹出输入面板,但是焦点仍然在第一个textedit控件,通过添加如下代码在activity的oncreate(),使焦点设置在上面的textview:

      TextView log_textView = (TextView)findViewById(R.id.textView_log);

        log_textView.setFocusable(true);

        log_textView.setFocusableInTouchMode(true);

        log_textView.requestFocus();