好,问题是我在我的活动中使用了一种SurfaceView,并且我想在其中添加按钮。添加一个按钮来活动没有任何布局
我的问题是:
1)我如何不调用findViewById(...)创建按钮的一个实例? (因为我没有布局,因为surfaceView)...
2)以及如何在画布上绘制此按钮?
或者你也许在暗示做别的事情?
所有我关心的是,将会有我的屏幕上的按钮,我可以实现类似OnClickListener(...)....
感谢所有提前!
好,问题是我在我的活动中使用了一种SurfaceView,并且我想在其中添加按钮。添加一个按钮来活动没有任何布局
我的问题是:
1)我如何不调用findViewById(...)创建按钮的一个实例? (因为我没有布局,因为surfaceView)...
2)以及如何在画布上绘制此按钮?
或者你也许在暗示做别的事情?
所有我关心的是,将会有我的屏幕上的按钮,我可以实现类似OnClickListener(...)....
感谢所有提前!
如果您在画布上绘制按钮(可能),它将不可点击。你真正想要的是:
像这样:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/FrameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<SurfaceView
android:id="@+id/surfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/restartButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick="whatever"
android:text="look, I float above the SurfaceView!" />
</RelativeLayout>
</FrameLayout>
,按钮与setOnClickListener
添加到活动没有XML:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Button button= new Button (this);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
params.topMargin = 0;
params.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
button.setText("dynamic Button");
addContentView(tv, params);
// setContentView(tv);
button.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
}
});
}
tnx很多我是新的Android世界,它真的有助于更好地理解一些概念,所以谢谢! 但我会使用fdreger的答案,因为它适合我的代码更多 – Leon 2012-07-09 20:49:18
@Leon:最受欢迎的朋友!!!! :) – 2012-07-09 20:51:21
我不知道我可以添加在XML布局 一个surfaceView,这将是对我非常有用,非常感谢你! – Leon 2012-07-09 20:57:38