在一个活动中,我添加了一个水平滚动视图。这包含一个“添加新集合”按钮和所有以前添加的集合作为按钮。这些 Sets 保存在 SQLLite 数据库中。
在我的应用程序的开头,我从数据库中加载所有集合。对于每个 Set,我将自己的 Button 添加到滚动视图中。
显示所有按钮,但动态添加的按钮大小不正确。它们应该具有与“添加新集”按钮相同的高度和宽度。
如何将第一个按钮的尺寸复制到其他按钮?
这是我的 XML:
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<LinearLayout
android:id="@+id/innerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_NewSet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:height="100dp"
android:onClick="OnExitClick"
android:text="@string/New_Set"
android:width="100dp" />
</LinearLayout>
</HorizontalScrollView>
这是我的Java代码:
db.open();
Cursor allSets = db.getAllSets();
if (allSets.moveToFirst())
{
Button bDummy = (Button) findViewById(R.id.btn_NewSet);
LinearLayout innerLayout = (LinearLayout) findViewById(R.id.innerLayout);
do
{
Button b1 = new Button(this);
b1.setHeight(bDummy.getHeight());
b1.setWidth(bDummy.getWidth());
b1.setText(allSets.getString(1));
b1.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
));
innerLayout.addView(b1);
}while (allSets.moveToNext());
}
db.close();