2
當用戶開始在列表視圖中向下滾動時,我嘗試添加一個相關佈局。 當用戶滾動到頂部並顯示列表視圖的第一項時,我想再次顯示相關佈局。Android:在列表視圖中向下滾動時隱藏relativelayout
我的代碼有效,但用戶嘗試滾動時會出現一些「爬升」現象。 我認爲問題位於listAtTop函數,但我不知道在哪裏。
list.setOnDetectScrollListener(new OnDetectScrollListener() {
@Override
public void onUpScrolling() {
/* do something */
Log.d("INFO", "UPPPPPPPPPPP");
if (listIsAtTop()) {
RelativeLayout relative1 = (RelativeLayout) findViewById(R.id.relative1);
relative1.setVisibility(View.VISIBLE);
}
}
@Override
public void onDownScrolling() {
/* do something */
Log.d("INFO", "DOWNNNNNNNN");
if (!listIsAtTop()) {
RelativeLayout relative1 = (RelativeLayout) findViewById(R.id.relative1);
relative1.setVisibility(View.GONE);
}
}
});
private boolean listIsAtTop() {
if (list.getChildCount() == 0) {
return true;
}
return list.getFirstVisiblePosition() == 0 && (list.getChildCount() == 0 || list.getChildAt(0).getTop() == 0);
}
謝謝,但你代碼似乎不起作用。我永遠不會去onScrollStateChanged函數.. – wawanopoulos
@wawanopoulos仔細檢查,因爲它在我的情況下工作正常。 –
好的,我會再次檢查 – wawanopoulos