gpt4 book ai didi

java - 如何将这些按钮添加到我的主要 Activity 中?

转载 作者:行者123 更新时间:2023-12-02 04:43:31 25 4
gpt4 key购买 nike

我制作了一些按钮并将它们存储到 ArrayList 中。我需要将这些按钮添加到我的主要 Activity 布局中。

我尝试创建一个线性布局并将其作为我的主要布局,但是按钮不显示。

   public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// createButtons();setContentView(new CircleView(this));



}

public void createButtons() {


ArrayList<Button> buttons = new ArrayList<>();

int n = 0; // the number of buttons circumferencing the semicircle
for(int i = 0; i < 6; i ++) {
n = 7;
Button button = new Button(this);
double Xval = 500* Math.cos(i * Math.PI / n);
double Yval = 500* Math.sin(i * Math.PI / n);
button.setX((float)(Xval));
button.setY((float)(Yval));

buttons.add(button);

}



}
}

我希望我的按钮出现在我的主要 Activity 布局中。

最佳答案

我找到了一些适合您情况的解决方案,但不是正确的解决方案,您必须将其更改为您自己的实现。

实现此目的的一种方法是创建一个布局并通过 id 在代码中获取布局,然后插入按钮。这是执行此操作的一种方法:

Button myButton = new Button(this);
myButton.setText("Push Me");

LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
ll.addView(myButton, lp);

插入带有事件的多个按钮,即使我更喜欢在类上实现 OnClickListener:

for (int i = 1; i <= 20; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
Button btn = new Button(this);
btn.setId(i);
final int id_ = btn.getId();
btn.setText("button " + id_);
btn.setBackgroundColor(Color.rgb(70, 80, 90));
linear.addView(btn, params);
btn1 = ((Button) findViewById(id_));
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast.makeText(view.getContext(),
"Button clicked index = " + id_, Toast.LENGTH_SHORT)
.show();
}
});
}

您可以在链接 Android Samples 中找到许多 android 原生的示例。

Source

关于java - 如何将这些按钮添加到我的主要 Activity 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56501202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com