XML创建UI组件和Java代码创建UI组件

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <!-- 创建一个线性布局 -->
    <LinearLayout
        android:id="@+id/root"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        
    </LinearLayout>
</RelativeLayout>

  MainActivity.java

/*
 * XML创建UI组件和Java代码创建UI组件
 * */
package com.frank.xmluiandjavaui;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MainActivity extends Activity {
	//定义一个图片数组,然后访问对应的资源文件
	int[] images = new int[]{R.drawable.ic_launcher,R.drawable.device};
	//当前图片索引
	int currentImg = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取线性布局组件
        LinearLayout main = (LinearLayout)findViewById(R.id.root);
        //创建一个图片显示组件
        final ImageView image = new ImageView(this);
        //线性布局组件中添加图片显示组件
        main.addView(image);
        //设置默认的第一张图片
        image.setImageResource(images[0]);
        //添加事件监听器
        image.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				image.setImageResource(images[++currentImg%images.length]);
			}
		});
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

  

posted on 2013-10-31 10:39  wp456  阅读(398)  评论(0)    收藏  举报

导航