所以我是以编程方式创建新按钮并将它们添加到LinearLayout,但是我想用预定义的样式初始化这些按钮.我花了一些时间寻找解决方案并尝试答案,但我似乎仍然无法让它发挥作用.
当我向布局添加一个新按钮时,它应该看起来像this picture中的按钮(靠近顶部).
我尝试在res / values /中创建一个xml文件,并使用新的Button(context,null,R.style.ChoiceButton)初始化一个按钮,但它不起作用,导致this happening.
我也尝试了为按钮创建一个新布局xml并使用(Button)getLayoutInflater().inflate(R.layout.choice_buttton_layout,null)的解决方法,但这也没有用,resulting in this (two buttons to show lack of margin).
RES /值/ choice_button.xml
wrap_content
wrap_content
center_horizontal
7dp
250dp
#ff27ae60
#ffffffff
true
来自Main.java的片段
public void btnAdd_click(View view) {
Button newBtn = new Button(getApplicationContext(), null, R.style.ChoiceButton);
newBtn.setText("new button");
newBtn.setId(Util.generateViewId());
LinearLayout layout = (LinearLayout)findViewById(R.id.layoutTop);
layout.addView(newBtn);
}
activity_main.xml中
有什么我想念的吗?这甚至可能吗?