以编程方式添加基于现有布局的按钮

问题描述 投票:1回答:1

根据this post,可以在java中以编程方式添加按钮。

我想根据布局构建我的按钮。可能吗 ?

例如,

<!-- btn.xml-->
<Button
    android:id="@+id/button_id"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="4dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="4dp"
    android:minHeight="60dp"
    android:onClick="myFunction"
    android:textAllCaps="false" />

在我的java代码中,我在String list上构建按钮,如下所示:

final LinearLayout layout = findViewById(R.id.my_layout);
for(String label : stringList){
    Log.d("BTN_ITERATION", "for label : " + label);
    Button btn = new Button(getApplicationContext());
    btn.setText(label);
    layout.addView(btn);
}

对于每个按钮迭代,我想设置一个btn.xml布局。

我想过这样的事情,但我不知道:

button = (button) View.inflate(this, R.layout.btn, null);
layout.addView(button);

谢谢 ! ;)

android android-layout android-button
1个回答
1
投票

this similar question with answer

试试这个:

Button btn = (Button) inflater.inflate(R.layout.btn, layout, false);
© www.soinside.com 2019 - 2024. All rights reserved.