我需要在延迟一段时间后以编程方式向FrameLayout
中的Activity
添加底部填充或边距。问题是Fragments
是ScrollView
的容器。当我为其设置底部填充/边距时,内部内容向上滚动。 Fragment
内容的顶部不再可见。
当我将底部填充设置为ScrollView
内容时效果很好,但我想避免这种情况并在Activity
中处理,而无需修改每个Fragment
。
我试过了:
FrameLayout
View
放在FrameLayout
的{{1}}底部,LinearLayout
设为android:clipToPadding="false"
。 每次都有相同的行为。有什么想法吗?
答案 0 :(得分:2)
我自己弄清楚了。当setVerticalFadingEdgeEnabled(true)
与setFadingEdgeLength()
上的ScrollView
一起使用时,似乎会出现此问题。
这个黑客解决了这个问题:
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
setVerticalFadingEdgeEnabled(false);
super.onSizeChanged(w, h, oldw, oldh);
setVerticalFadingEdgeEnabled(true);
}
答案 1 :(得分:1)
如果您仍有问题,可以使用:
android:descendantFocusability="blocksDescendants"
在您的孩子ScrollView中。