読者です 読者をやめる 読者になる 読者になる

rioRESERVoir

Allajah/Rioの個人ブログ

背景画像を変更してボタンも使おう

Android Java

ボタンを作成,表示させる

アプリを開発するときに,ボタンを表示させてクリックされたら他のアクティビティを
呼び出す必要があった.

ボタンを生成して表示

ボタンを作成して表示させたいので,まずレイアウトを生成しよう.

LinearLayout layout =new LinearLayout(this);
setContentView(layout);

で,ボタンを生成して表示.

Button button =new Button(this);
layout.addView(button);

これで一応ボタンを表示するとこまではできたはず.ボタン上のテキストを変えたいときは,
ボタンを生成した箇所の1行目と2行目の間に

button.setText("Play");

と書けばOK.単純.

他のアクティビティを呼び出す

ボタンが押されたら他のアクティビティを呼びだそう.
今回はWait.javaからPlay.javaを呼び出すとする.
ボタン生成の箇所を次のようにする.

Button button1 = new Button(this);
button1.setText("Play");
button1.setOnClickListener(new int());
layout.addView(button1);

このままではintってなに??ってEclipseたんに言われてしまうので,
public class内にclassを作ります.

class int implements OnClickListener{
    public void onClick(View v);
    Intent intent2Play = new Intent(Wait.this,Play.class);
    startActivity(intent2Play);
}

これでいけるはず.

背景画像の設定

xmlファイルをいじります.
layoutフォルダにある,mainのxmlファイル(今回はmain.xml)をいじる.
res/drawableフォルダにbackground.jpgを置き,main.xml

android:background="@drawable/background"
android:id="@+id/main"

と記載.そしてjavaファイルの方には

setContentView(R.layout.main);

これでmain.xmlに記述した背景画像が適用される.
しかしここで問題が起きた.
ボタンが消えた.どうやらこの書き方だと共存できないらしい.
共に生きさせてあげよう.

背景画像を設定し,ボタンを表示

レイアウトの生成,ボタンの生成を次のように書き換える.

setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) findViewById(R.id.main);

Button button = new Button(this);
button.setText("Play");
button.setOnClickListener(new int());
layout.addView(button);

これでいけるはず.不具合等あったらコメントください.