1

我不能说我以前有过这个问题,也许我只是需要一双新鲜的眼睛。以编程方式将视图添加到根 ScrollView 内的 LinearLayout 后,ScrollView 似乎不知道也不滚动。

下面,group是LinearLayout的一个扩展,root是XML布局里面的LinearLayout。

我的主要 XML 布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll_root"
    style="@style/Standard.Fill" <!-- match_parent in both _width and _height -->
    android:fillViewport="true">

    <LinearLayout
        android:id="@+id/base_group"
        style="@style/BaseGroup" <!-- derived style from Standard.Fill -->
        android:orientation="vertical" />

</ScrollView>

添加视图,例如:

for(int i = 0; i < 95; i++){
    TextView kv = new TextView(this);
    kv.setText("asdas as adsa");

    // kvp is LayoutParams with match_parent and wrap_content
    group.addView(kv, kvp); 
}
root.addView(group, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

ScrollView 父级似乎不知道它的 LinearLayout 子级已扩展超出边界并且不滚动。我尝试了fillViewport,layout_widthlayout_height, requestLayout(),invalidate()等的变体但无济于事。

我可能会切换到 aListView和适配器工作流程,但这对我来说仍然很奇怪。

我怎样才能让我的 ScrollView 父母醒来?

4

0 回答 0