使用ScrollView讓LinearLayout自動顯示最底層內容
阿新 • • 發佈:2019-01-02
類似於微信、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中) } });
親測有效