안 드 로 이 드 가 listview 가 미 끄 러 질 때 그 라 데 이 션 상단 표시 줄 인 스 턴 스 코드 를 실현 합 니 다.
가장 먼저 시 작 했 을 때 생각 하 는 것 은 매우 간단 했다.단지 listview 의 미끄럼 거 리 를 감청 한 다음 에 거리 에 따라 투명도 의 비례 를 계산 하면 되 지만 사실은 이렇게 한 것 이다.
다만 listview 를 가 져 오 는 미끄럼 거리 에서 직접 가 져 올 수 없 을 수도 있 습 니 다.동적 으로 계산 해 야 합 니 다.
아래 에 모든 코드 를 붙 여 주세요.인 코딩 하고 싶 지 않 아 요.요즘 감기 에 걸 려 서 머리 가 어 지 럽 고 아파 요.코드 가 좀 더 직관 적 이에 요.
private void initListener() {
lvList.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
}
});
lvList.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// Logger.myLog("firstVisibleItem=" + firstVisibleItem + "visibleItemCount=" + visibleItemCount + "totalItemCount=" + totalItemCount);
Logger.myLog(getScroolY()+"top=" + gettop());
tvText.setAlpha(getAlphaFloat(getScroolY()));
}
});
}
/**
*
* @param dis
* @return
*/
public float getAlphaFloat(int dis){
int step = 5000;
if(dis == 0){
return 0.0f;
}
if(dis < step){
return (float)(dis * (1.0/step));
}else{
return 1.0f;
}
}
/**
*
* @return distance
*/
public int getScroolY(){
View c = lvList.getChildAt(0);
if(null == c){
return 0;
}
int firstVisiblePosition = lvList.getFirstVisiblePosition();
int top = c.getTop();
/**
* , top listview ,
* ,
*/
return firstVisiblePosition * c.getHeight() + Math.abs(top);
}
/**
*
* @return distance top
*/
private int gettop(){
View c = lvList.getChildAt(0);
if(null == c){
return 0;
}
return c.getTop();
}
위 에서 말 한 것 은 소 편 이 소개 한 안 드 로 이 드 가 listview 가 미 끄 러 질 때 점점 상단 표시 줄 의 인 스 턴 스 코드 를 나타 내 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.