在android開發中很多時候會遇到一屏顯示不下所有內容的現象,那大家也知道這個時候肯定會想到用scrollview來進行滾屏顯示。
這個時候由於某些需求,會要求在最開始顯示scrollview的時候就定位到某一處,這篇博文就是來講這個的哈~
首先,scrollView.scrollTo( x, y );這個方法是能對滾動條進行定位的,這個大家都知道。
But,貌似很多時候這個方法的調用沒有什麼效果呀……
上面所說的調用scrollTo方法看上去好像並沒有起到對滾動條進行定位的效果,其實是因爲我們是在onCreate裏調用的這個方法,而在onCreate方法沒有結束的時候,activity的數據並沒有完全加載好,所以這個時候調用該方法不會有什麼實際的效果的。
So,正確的調用方法來啦~
先定義一個runnable接口
private Runnable runnable = new Runnable() {
@Override
public void run() {
scrollView.scrollTo(0, 300);// 改變滾動條的位置
}
};
然後在你想要主動定位滾動條位置的地方用一個handler來把這個runnable對象post出來,最好來個延時
handler = new Handler();
handler.postDelayed(runnable, 200);
這個樣子就可以起到主動定位scrollview到任意位置的作用啦~
另外還有一些情況是要直接將scrollview定位到最底端顯示的,可以採用如下方法
scrollView.scrollTo(0, linearLayout.getMeasuredHeight() - scrollView.getHeight());
其中,linearLayout是scrollview裏的子view,這樣就可以在顯示的時候就直接顯示scrollview的最底部了喲~