1. 程式人生 > >使用ScrollView讓LinearLayout自動顯示最底層內容

使用ScrollView讓LinearLayout自動顯示最底層內容

類似於微信、QQ等的聊天軟體,當我們點擊發送時內容就自動顯示為剛傳送的訊息。事實上很容易實現。

就是使用ScrollView的scrollTo()方法

首先定義一個runnable介面

    private Runnable runnable = new Runnable() {
        @Override
        public void run() {
            //表示移動到layout_content的底部位置
            scrollView.scrollTo(0, layout_content.getMeasuredHeight() - scrollView.getHeight());
        }
    };

其中layout_content是LinearLayout的例項

然後建立Handler物件

private Handler handler = new Handler();

最後根據你想觸發LinearLayout自動移動到底層內容的事件去呼叫用handler的post(Runnable)方法,如類似QQ、微信的觸發事件就是點擊發送按鈕

    bt_send.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                handler.post(runnable);// 改變滾動條的位置
                //其他操作(如新增訊息到LinearLayout中)
            }
    });

親測有效

大笑