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_heightrequestLayout()invalidate()

おそらくアダプターのワークフローに切り替えるつもりですListViewが、これはまだ私にとって非常に奇妙です。

ScrollView の親を目覚めさせるにはどうすればよいですか?

4

0 に答える 0