我有几个按钮。我想创建一个单独的类。我看这个按钮
<com.example.shoping.SettingsP.CustomButtons
android:layout_width="110dp"
android:layout_height="60dp"
android:text="Settings"
android:id="@+id/SettingsButton"
android:background="#010101"
android:textColor="#ffffff"
android:gravity="center_vertical|center_horizontal"
android:layout_alignParentRight="true"
/>
和班级
public class CustomButtons extends Button {
public CustomButtons(Context context) {
super(context);
}
public CustomButtons(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomButtons(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}
我想创建三个按钮,按下这些按钮以填充新的Activity。 感谢。
答案 0 :(得分:0)
Alex给出的建议是一个很好的方法,或者您可以创建一个xml布局,您可以放置这些按钮并以这种方式将此布局包含在所有其他布局中
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/your_layout_with_buttons" />
另一个想法可能就是这个: 你可以创建一个扩展Activity的类(例如MasterActivity)。在这个类中以这种方式覆盖setContentView
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
Button button1=new Button(this);
Button button2=new Button(this);
Button button3=new Button(this);
/**
* set your buttons layout params as you need
*/
((ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content)).addView(button1);
((ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content)).addView(button2);
((ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content)).addView(button3);
}
getWindow().getDecorView().findViewById(android.R.id.content)
为您提供了根视图,它必须是VIewGroup(例如LinearLayout,RelativeLayout等)。
当您调用您的活动(必须扩展MasterActivity)setContentView时,将显示该视图,将显示视图并根据LayoutParams添加按钮。
您还可以使用insance of
希望这个帮助
答案 1 :(得分:0)
protected void onFinishInflate () {
Button b1 = (Button)findViewById(R.id.b1);
b1.setOnClickListener(this);
Button b2 = (Button)findViewById(R.id.b2);
b2.setOnClickListener(this);
Button b3 = (Button)findViewById(R.id.b3);
b3.setOnClickListener(this);
}
public void onClick(View view) {
switch (view.getId()){
...........
}
}
所以我做到了。谢谢!