기본적으로 scrollview의 페이드 가장자리는 해당 방향으로 스크롤하는 것이 가능한 경우에만 표시됩니다. 나는 그것을 언제나 보이게 할 수 있습니까?Android ScrollView 페이드 가장자리
나는 드로어 블을 위에 얹어 놓고 싶지 않습니다. 나는 내장 된 페이딩 엣지를 사용하여 그것을 달성하기를 원할 것이다. 아마 몇몇 scrollview 함수를 오버라이드함으로써 가능할 것이다. 사전에
감사
기본적으로 scrollview의 페이드 가장자리는 해당 방향으로 스크롤하는 것이 가능한 경우에만 표시됩니다. 나는 그것을 언제나 보이게 할 수 있습니까?Android ScrollView 페이드 가장자리
나는 드로어 블을 위에 얹어 놓고 싶지 않습니다. 나는 내장 된 페이딩 엣지를 사용하여 그것을 달성하기를 원할 것이다. 아마 몇몇 scrollview 함수를 오버라이드함으로써 가능할 것이다. 사전에
감사
예,있는 ScrollView를 확장하고 이러한 메소드를 오버라이드 (도넛 - release2가 기준) : 비교를 위해서
@Override
protected float getTopFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
return 1.0f;
}
@Override
protected float getBottomFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
return 1.0f;
}
,이 페이딩 가장자리 등을 단축 원래의 코드이며, 목록의 끝에 가깝게 다가갑니다 :
@Override
protected float getTopFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
final int length = getVerticalFadingEdgeLength();
if (mScrollY < length) {
return mScrollY/(float) length;
}
return 1.0f;
}
@Override
protected float getBottomFadingEdgeStrength() {
if (getChildCount() == 0) {
return 0.0f;
}
final int length = getVerticalFadingEdgeLength();
final int bottomEdge = getHeight() - mPaddingBottom;
final int span = getChildAt(0).getBottom() - mScrollY - bottomEdge;
if (span < length) {
return span/(float) length;
}
return 1.0f;
}
질문에 대한 답변을 수락하고 적어도 답글을 달아주세요. – cdhabecker
"페이드 에지를 완전히 숨기려면"에 대한 대답 일 수 있습니다. 찬사 감사! 그러나 그 안드로이드를 할 수있는 더 쉬운 방법이 있어야합니다 : P –
왜 그렇게하고 싶습니까? 페이딩 효과는 사용자에게 그 방향으로 스크롤 할 수 있음을 알리는 특정 목적으로 설계되었습니다. 페이딩 에지를 항상 표시하도록 변경하면 사용자는 어떤 방향으로 스크롤하고 가능하지 않을 때 무언가가 고장 났다고 생각할 수 있습니다. –