簡體   English   中英

在沒有 XML 或布局的情況下向活動添加按鈕

[英]Adding a button to activity without XML or Layout

Android工作室

我們有一個項目(游戲),我們需要做 android 游戲,一個太空賽車游戲,我們幾乎完成了。 我們只需要在游戲視圖上添加一個重試按鈕和退出按鈕。 下面的代碼在我的 GamePlayScene.java 上,並且布局文件夾中沒有 XML 文件。 他們說它是通過游戲本身連接起來的。 我對游戲編碼和 Java 語言非常陌生。 當我按下模擬器上的開始按鈕時,它會轉到 MainActivty2.java 並且 MainActivity2 有一個 XML 或布局文件夾,但它上面沒有任何設計,它沒有宇宙飛船或任何我們可以看到的東西我們在模擬器上運行游戲或啟動游戲。 因此,我嘗試在 XML 上添加一個按鈕,當我嘗試按下開始按鈕時,出現消息“不幸的是,SpaceRacing 已停止”。 我希望有人能理解我。

@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("Retry");
    addContentView(button, params);
    // setContentView(tv);
    button.setOnClickListener(new Button.OnClickListener(){
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(this, MainActivity2.class);
        }

    });
}

粗體字母或代碼上有“** **”的工作室有紅色字體。

您需要從setContentView開始,以便您的活動具有初始布局。

對於該方法,您將傳遞視圖或布局 ID。

因此,例如,如果您有一個名為activity2_layout.xml的布局文件,您的onCreate方法應該如下所示

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity2_layout)

然后你調用你的按鈕

findViewById(R.id.buttun_id)

如果你想在沒有 XML 的情況下添加按鈕,你首先找到你的布局然后調用

myLayout.addView(button)

這真的是 Android 基礎知識,您可能想在繼續之前先看看這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM