Androidはxmlとjavaを混ぜてuiを書きます
簡単な画像ブラウザの例で説明
新規プロジェクトの作成後:
activit_main.xmlにコードを追加するには:
Javaにコードを追加するには:
Androidでは、各コンポーネントの性質を.xmlで定義できるとともに、各性質に対応するjavaメソッドがあります.
注意:上記のコードではjavaコードを使用して新しいコンポーネントを追加し、宣言をクラスに書くことができますが、onCreate()の内部にnewがあるオブジェクトに値を付けなければなりません.そうしないと、javaにコンポーネントを追加するときに初期化しなければならないときにパラメータを追加するため、プログラムがエラーになります.
新規プロジェクトの作成後:
activit_main.xmlにコードを追加するには:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
Javaにコードを追加するには:
public class MainActivity extends Activity {
int[] image = new int[] {
R.drawable.p1,
R.drawable.p2,
R.drawable.p3,
R.drawable.p4
};
ImageView myimage;
int curImage = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout layout = (LinearLayout)this.findViewById(R.id.main);
myimage = new ImageView(this);
layout.addView(myimage);
myimage.setImageResource(image[0]);
myimage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
myimage.setImageResource(image[++curImage%image.length]);
}
});
}
Androidでは、各コンポーネントの性質を.xmlで定義できるとともに、各性質に対応するjavaメソッドがあります.
注意:上記のコードではjavaコードを使用して新しいコンポーネントを追加し、宣言をクラスに書くことができますが、onCreate()の内部にnewがあるオブジェクトに値を付けなければなりません.そうしないと、javaにコンポーネントを追加するときに初期化しなければならないときにパラメータを追加するため、プログラムがエラーになります.