2013-05-20 41 views
1

我有一個GridView 10行10列。當活動開始GridView滾動到最後一個位置,然後我可以從最後一行中選擇一個項目後從最後一行它將滾動到第二排..但是我的smoothscrollToPosition不工作(只是不時跳動)所以我做了這個gridView.smoothScrollBy(-63,1000)但我沒有得到一個好的結果,因爲這個滾動並沒有統一的位置,每個手機。所以我必須爲每個手機獲得統一的滾動。smoothScrollToPosition不工作-Android GridView

回答

0

而不是使用gv.smoothScrollBy()嘗試使用gv.smoothScrollTo()並註明你希望它顯示,因爲scrollBy將由多少像素的,而不是指向一個特定位置滾動的具體位置。

還可以看到,如果您提供的值不在屏幕的邊界,那麼它將開始顯示奇怪的結果,一般發生在您嘗試使用具有不同屏幕尺寸的不同設備時,在可見區域存在。對於嘗試使用:

private int getVisibleArea() 
{ 
    int measureValue = 0; 
    switch (getResources().getDisplayMetrics().densityDpi) { 
    case DisplayMetrics.DENSITY_MEDIUM: 
     measureValue =(screenHeight); 
     break; 
    case DisplayMetrics.DENSITY_HIGH: 
     measureValue = (screenHeight); 
     break; 
    case DisplayMetrics.DENSITY_XHIGH: 
     measureValue = (screenHeight); 
     break; 
    } 
    return measureValue; 
} 

其中screenHeight是:

Display display = getWindowManager().getDefaultDisplay(); 
      screenHeight = display.getHeight(); 
+0

@ abhy我應該在哪裏添加此代碼?我無法找到該函數gv.smoothScrollTo()我正在使用android 2.2 – Aaloka

+0

smoothscrollToPosition不工作只是彈跳網格,當我們調用smoothscrollToposition – Aaloka

+0

http://stackoverflow.com/questions/16628106/android-gridview-smoothscroll-doesnt-工作 - 只是反彈 - 從時間到時間這是我需要..我堅持在我的最後一個里程碑 – Aaloka