0

ここに画像の説明を入力してください

imageview、tablelayout、tablerowを膨らませてから、imageviewsをtablerowsに追加してから、tablerowsをtablelayoutに追加したいと思います。

問題は、画像の幅と高さを管理できないことです。

ここに画像の説明を入力してください

xmlで静的にテーブルを作成していたとき、画像に問題はありませんでした。しかし、ご覧のとおり、テーブルにある3つの行すべてが表示されているわけではありません。私は何が間違っているのですか?

そして、私が欲しいのは、動的な数の列と行を持つテーブルです。そして、私はこのテーブルを画面に合わせたいと思っています。

        for (int i = 0; i < im1.length; i++) {
        im1[i] = (ImageView) getLayoutInflater().inflate(R.layout.image0, null);
        im2[i] = (ImageView) getLayoutInflater().inflate(R.layout.image1, null);
    }


    table = (TableLayout) getLayoutInflater().inflate(R.layout.table, null);
    TableRow row1 = (TableRow) getLayoutInflater().inflate(R.layout.row, null);
    row1.addView(im1[0]);
    row1.addView(im2[0]);
    TableRow row2 = (TableRow) getLayoutInflater().inflate(R.layout.row, null);
    row2.addView(im1[1]);
    row2.addView(im2[1]);
    TableRow row3 = (TableRow) getLayoutInflater().inflate(R.layout.row, null);
    row3.addView(im1[2]);
    row3.addView(im2[2]);

    table.addView(row1);
    table.addView(row2);
    table.addView(row3);
    tableFlipper.addView(table);

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llayout"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >


<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="@string/hello_world"
    android:layout_marginTop="10dp" />

<ViewFlipper
    android:id="@+id/tableFlipper"
    android:layout_width="wrap_content"
    android:layout_height="400dp"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"  >     

</ViewFlipper>

<Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:onClick="onButtonClick" />

   </LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*" >


</TableLayout>

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
 >


</TableRow>

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/square"
android:scaleType="fitCenter"
android:maxHeight="30dp"
android:maxWidth="30dp" >    

4

1 に答える 1

0

したがって、TableRow レイアウトの高さを制御することはできません。常に wrap_content です。

于 2012-12-11T12:49:18.173 に答える