方法1
獲取ScrollView里面一個(gè)上層任意view,然后調(diào)用如下方法:
view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.requestFocus();
方法2(推薦)
在xml中配置,注意,是給ScrollView的子View配置
android:focusable="true"
android:focusableInTouchMode="true"
方法3
scrollView.fullScroll(ScrollView.FOCUS_DOWN);滾動(dòng)到底部
scrollView.fullScroll(ScrollView.FOCUS_UP);滾動(dòng)到頂部
需要注意的是,該方法不能直接被調(diào)用。
因?yàn)锳ndroid很多函數(shù)都是基于消息隊(duì)列來(lái)同步,所以需要一部操作,addView完之后,不等于馬上就會(huì)顯示,而是在隊(duì)列中等待處理,雖然很快,但是如果立即調(diào)用fullScroll,view可能還沒有顯示出來(lái),所以會(huì)失敗。 應(yīng)該通過(guò)handler在新線程中更新
handler.post(newRunnable() {
@Override
publicvoid run(){? ? ? ? ??
scrollView.fullScroll(ScrollView.FOCUS_DOWN);? ? ?
?}? });