gpt4 book ai didi

android - 如何使 Android ScrollView 淡出边缘始终可见?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:51:03 27 4
gpt4 key购买 nike

默认情况下, ScrollView 的淡入淡出边缘只有在可以向该方向滚动时才可见。如何让它始终可见?

我不想在顶部放置任何可绘制对象或类似的东西。我想使用内置的渐变边缘来完成它,可能是通过覆盖一些 ScrollView 函数。

最佳答案

是的,扩展 ScrollView 并覆盖这些方法(基于 Donut-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;
}

关于android - 如何使 Android ScrollView 淡出边缘始终可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6889908/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com