2
사용자가 목록보기에서 아래로 스크롤하기 시작하면 relativelayout을 추가하려고합니다. 사용자가 맨 위로 스크롤하여 목록보기의 첫 번째 항목이 표시 될 때 relativelayout을 다시 표시하고 싶습니다.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);
}
감사를 당신이
down
숨기기 레이아웃을 스크롤하여 스크롤 때top
후 눈에 보이는 레이아웃에 도달 할 때이 코드에서이 방법을 시도하지만 코드가 작동하지 않는 것 같습니다. 절대로 onScrollStateChanged 함수를 사용하지 않습니다. – wawanopoulos
@wawanopoulos 제 경우에 잘 작동하는지 확인하십시오. –
좋아, 다시 확인해 보겠습니다. – wawanopoulos