2014-05-11 67 views
0

我需要在列表視圖中設置偏移量。我最初通過使用ScrollBy(X,Y)來實現它,但是一旦我觸摸列表視圖,它就回到零點(我的偏移量爲負值)。如何在列表視圖中設置滾動偏移量

我該如何保持這種偏移?

+0

你是什麼偏移意思? ListView的頂部有一個空的空間? –

+0

是啊,我實際上使用網格視圖,但我想設置一個偏移量,以便我可以有一個標題欄,當我滾動時,我想滾動標題欄,同時能夠看到更多的gridview內容。但是,當我向下滾動任何位置時,我想要將標題欄滾回。與Twitter應用程序的效果相同。但是如果不設置某種偏移量,我無法做到這一點。我試圖在攔截觸摸事件的時刻玩轉 – serenskye

回答

4

如果你想在ListView頂部的空白空間,我會用填充。

在佈局XML

android:clipToPadding="false" 
android:paddingTop="25dp" 

你也可以做到這一點編程方式添加到您的ListView但在XML中做它應該永遠是最好,如果可能的:

float paddingTopInDp = 25.0f; 

Resources resources = getResources(); 
float paddingTopInPixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, paddingTopInDp, resources.getDisplayMetrics()); 
listView.setClipToPadding(false); 
listView.setPadding(0, (int)(paddingTopInPixels + 0.5f), 0, 0); 
+0

我不確定這會起作用,因爲我必須調整滾動上的填充,這會導致重新佈局,這將會非常效率低下。也許你誤解了我想要實現的目標? – serenskye

+0

不,我明白你的意思,我構建了一些非常相似的東西。你實際上不需要改變填充。您必須根據scrolOffset調整覆蓋。 –

+0

如果列表視圖被填充,那麼當標題隱藏時內容永遠不會填滿屏幕 – serenskye

相關問題