0

XML ファイルでボタンを静的に宣言したテーブル レイアウトがあります。プログラムで行を動的に追加します。ボタンをテーブル レイアウトの最後に設定したい。私は android:layout_gravity="bottom" を使用してそれを試みましたが、それは役に立ちません。

解決策はありますか?

これは私のXMLです

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:scrollbars="horizontal|vertical"
android:scrollbarStyle="outsideInset" >
<TableLayout 
    android:id="@+id/table"
android:layout_width="match_parent"
android:layout_height="wrap_content">
    <Button 
        android:id="@+id/back"
        android:layout_gravity="bottom"
    />
</TableLayout>
</ScrollView>
4

3 に答える 3

0

テーブルの外にボタンを置いてスクロールビュー......つまりスクロールビューの下にあります

于 2012-05-02T16:46:33.160 に答える
0

ViewGroupすべての子を削除して適切な順序で再読み込みせずに a の子を並べ替える方法はないと思います。ListViewの代わりに will で十分な場合TableLayoutは、目的を達成するaddFooterView()方法があります。

于 2012-04-21T03:25:03.253 に答える
0

それがうまくいくかどうかは正確にはわかりませんが、remove を使用してボタンを削除し、すべての要素を追加した後に実行時に追加することができます。

例:

    TableLayout tv = (TableLayout ) findViewbyId(R.id.table_layout_id);
    Button button = (Button) findviewbytid(R.id.button_id);

簡単に取得できるように、ボタンのレイアウトパラメーターが必要な場合があります。

    LayoutParams lp = button.getLayoutParams();

ボタンをレイアウトから削除します。

    tv.removeView(button);

実行時にすべてのビューを追加します。

ボタンをもう一度追加します。

     tv.addView(button, lp);

私はこのコードを試したことはありませんが、うまくいくはずです。場合によっては、レイアウト パラメータが必要ないため、無視することもできます。

于 2012-04-21T04:02:22.460 に答える