我具有延伸活动和获得它认为这样一个类:如何在扩展视图的类中创建按钮和图像视图?
setContentView((View) viewClass);
viewClass类是从视图扩展类。
我需要在这个类中实现一些按钮和图像视图。但是如何?
我具有延伸活动和获得它认为这样一个类:如何在扩展视图的类中创建按钮和图像视图?
setContentView((View) viewClass);
viewClass类是从视图扩展类。
我需要在这个类中实现一些按钮和图像视图。但是如何?
您需要延长从的ViewGroup或样的布局,例如LinearLayout中的自定义视图,这将帮助你以编程方式从样活性增加另一个视图布局:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout view = new LinearLayout(this);
setContentView(view);
TextView tv = new TextView(this);
tv.setText("asas");
view.addView(tv);
}
}
哦谢谢它的作品:) – user5508330
你可以做类似下面
让你的主要活动是如下
public class MainActivity extends Activity{
MyView view;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Context ctx = getApplicationContext();
view=new MyView(ctx);
setContentView(view);
}
}
,让您的视图类扩展任何容器布局。
public class MyView extends RelativeLayout{
public MyView(Context context) {
super(context);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
this.setLayoutParams(layoutParams);
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
TextView tv = new TextView(context);
tv.setText("hello");
tv.setId(1);
Button b = new Button(context);
params1.addRule(RelativeLayout.BELOW, tv.getId());
b.setText("Hi");
b.setId(2);
this.addView(tv);
this.addView(b, params1);
}
}
我会尝试它... – user5508330
该类有这样的:public viewClass(Context context,AttributeSet attr){}它也有AttributeSet参数。谢谢你的帮助。以上答案解决了我的问题。 – user5508330
为什么不从xml设置活动的内容视图? –
你打算实现什么? –
您必须重写onDraw,然后绘制按钮和图像,以便获取按钮上的事件,则必须在touchlistener内部检查按下的坐标是否位于按钮区域内。 –