顯示scrollview時對滾動條進行任意位置的定位

在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的最底部了喲~




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章