Android的 – 如何以编程方式设置Linearlayout中的button样式?

我正在编程为一个AlertDialog与一些button创build一个LinearLayout。

我想这样做:

<LinearLayout android:id="@+id/footer" android:layout_width="fill_parent" style="@android:style/ButtonBar"> 

但是用这样的代码:

 LinearLayout buttons = new LinearLayout(parentContext); buttons.setOrientation(LinearLayout.HORIZONTAL); LinearLayout.LayoutParams buttonsParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); topLayout.addView(buttons, buttonsParams); buttons.setLayoutParams(buttonsParams); Button btnAdd = new Button(context); btnAdd.setText("Add"); 

我怎样才能设置button的风格(使用button栏)编程?

希望我不晚join晚会:)

那么, 样式可以在初始化阶段应用到View 。 例如:

 LinearLayout button = new LinearLayout(context, null, android.R.style.ButtonBar); 

这对我有效

 Button button = new Button(new ContextThemeWrapper(context,ButtonStyle), null, ButtonStyle) 

这是实际提供我正在寻找的唯一答案: http : //belencruz.com/2013/04/set-styles-programmatically-in-android/

基本上,创build一个布局XML文件,只需要一个带有所需样式的<Button/>元素。 然后,以编程方式夸大它,只是自定义button文本。

有些东西是:

 <?xml version="1.0" encoding="utf-8"?> <Button style="@style/your_custom_style_here"/> 

在代码中:

 Button button = (Button)getLayoutInflater().inflate(R.layout.your_custom_button_layout_file, null); button.setText("Your Text"); 

而不是waqaslams

 LinearLayout button = new LinearLayout(context, null, android.R.style.ButtonBar); 

(也就是说,通过评论来判断,API是可靠的)我也读过ridoys从这里回答[ Android Button Styling Programatically ]

 transferBtn.setBackgroundResource(R.layout.buttonstyle); 

(公开上面的答案,因为其中的一个可能也适合你,取决于你使用的API版本),

但是这对我来说是有效的 (介意从“布局”到“可绘制”的变化)

 Button b = new Button(this); b.setBackgroundResource(R.drawable.button_custom_green); 

([ 如何以编程方式在视图中设置样式属性 ]