こんにちは、私はプログラムでUIを管理しようとしています。テーブルにいくつかの行を追加しますが、行の数は必ずしも同じではありません。したがって、プログラムでこれを実行しようとしているので、動的にすることができます。 。
私はすでに試みましたが、ImageButtonとButtonのlayoutparamsを変換する方法を知る必要があります...両方とも同じ方法である必要があり、両方ともボタンです。
よろしくお願いします!!
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*"
>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<ImageButton
android:id="@+id/imageButton1"
android:contentDescription="@string/removeIconDesc"
android:layout_width="0dip"
android:layout_weight="0.3"
android:layout_height="fill_parent"
android:src="@drawable/remove_icon"
android:background="@null"/>
<Button
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent"
android:id="@+id/button1"
android:text="@string/button1"
android:background="@drawable/pressed"
android:drawableRight="@drawable/arrow_left"
/>
<Button
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:id="@+id/button2"
android:text="@string/button1"
android:background="@drawable/pressed"
android:drawableLeft="@drawable/arrow_right"
/>
<ImageButton
android:contentDescription="@string/removeIconDesc"
android:id="@+id/imageButton2"
android:layout_width="0dip"
android:layout_weight="0.3"
android:layout_height="fill_parent"
android:src="@drawable/remove_icon"
android:background="@null"/>
</TableRow>
</TableLayout>
XMLで定義されたこのUIをJavaコードに変換しようとしています。動的に行う必要があるため、これまでの最善の試みは以下のUIでした。しかし、次に進むことはできません。 ImageButtonとButtonsのLayoutParams..。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tLayout = new TableLayout(this);
tLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
tLayout.setStretchAllColumns(true);
TableRow tbRow = new TableRow(mainActivity);
TableRow.LayoutParams tL = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
tL.weight = 1;
tbRow.setLayoutParams(tL);
RelativeLayout.LayoutParams iM = new RelativeLayout.LayoutParams(0, LayoutParams.MATCH_PARENT); //this is the right LayoutParams for the ImageButton... I guess
iM.weight = 0 -- This is not possible.... Error On IDE
//still need to do the translation to the two buttons... and the other ImageButton, but knowing how to do for the ImageButton I guess I can do the rest..
setContentView(tLayout);
}
事前にコミュニティに感謝します;)