好,問題是我在我的活動中使用了一種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