Java 使用xml为按钮充气以设置样式

Java 使用xml为按钮充气以设置样式,java,android,layout-inflater,Java,Android,Layout Inflater,试图给按钮充气 代码: R.layout.assets.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:id="@+id/main" android:layout_height=

试图给按钮充气

代码:

R.layout.assets.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:id="@+id/main" 
    android:layout_height="match_parent" 
    android:weightSum="1" 
    android:padding="50px">
    <Button android:text="Button" android:layout_width="wrap_content" android:id="@+id/myButton" android:layout_height="wrap_content"></Button>
</LinearLayout>

是否尝试将按钮添加到其他视图?例外情况似乎是这样的。
尝试摆脱包裹按钮的线性布局。

是否尝试将按钮添加到其他视图?例外情况似乎是这样的。
尝试摆脱包裹按钮的线性布局。

我也遇到了同样的问题。看一看

答案涉及以下代码:

LinearLayout view = (LinearLayout)LayoutInflater.from(this).inflate(R.layout.my_button, null);
// or LinearLayout buttonView = (LinearLayout)this.getLayoutInflater().inflate(R.layout.my_button, null);
Button myButton = (Button) view.findViewById(R.id.myButton);
view.removeView(myButton);

LinearLayout mainView = (LinearLayout)this.findViewById(R.id.mainLayout);
mainView.addView(myButton);

我也有同样的问题。看一看

答案涉及以下代码:

LinearLayout view = (LinearLayout)LayoutInflater.from(this).inflate(R.layout.my_button, null);
// or LinearLayout buttonView = (LinearLayout)this.getLayoutInflater().inflate(R.layout.my_button, null);
Button myButton = (Button) view.findViewById(R.id.myButton);
view.removeView(myButton);

LinearLayout mainView = (LinearLayout)this.findViewById(R.id.mainLayout);
mainView.addView(myButton);
LinearLayout view = (LinearLayout)LayoutInflater.from(this).inflate(R.layout.my_button, null);
// or LinearLayout buttonView = (LinearLayout)this.getLayoutInflater().inflate(R.layout.my_button, null);
Button myButton = (Button) view.findViewById(R.id.myButton);
view.removeView(myButton);

LinearLayout mainView = (LinearLayout)this.findViewById(R.id.mainLayout);
mainView.addView(myButton);