效果图如下:
按下第一个按钮出现第二个图,按下第二个按钮出现第三个图,按下第三个按钮出现最后一个图。
第二个图的代码如下(activity_frame_layout.xml):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#000000">
<ImageView
android:id="@+id/photo"
android:src="@drawable/bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>
第三个图的代码如下(activity_relative_layout.xml):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000">
<TextView
android:id="@+id/input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_medium"
android:text="@string/relativeinput"
tools:context=".RelativeLayoutActivity" />
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:layout_below="@id/input"/>
<Button
android:id="@+id/yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/name"
android:layout_marginRight="91dp"
android:layout_marginTop="15dp"
android:text="@string/yes" />
<Button
android:id="@+id/no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/yes"
android:layout_alignBottom="@+id/yes"
android:layout_alignParentRight="true"
android:layout_marginRight="18dp"
android:layout_marginTop="15dp"
android:text="@string/no" />
</RelativeLayout>
第四个图代码如下(activity_table_layout.xml):
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:stretchColumns="1">
<TableRow >
<TextView
android:gravity="right"
android:padding="3dip"
android:text="@string/name"
android:textStyle="bold"/>
<EditText
android:id="@+id/name"
android:padding="3dip"
android:scrollHorizontally="true"
android:inputType="text"/>
</TableRow>
<TableRow >
<TextView
android:gravity="right"
android:padding="3dip"
android:text="@string/password"
android:textStyle="bold"/>
<EditText
android:id="@+id/password"
android:padding="3dip"
android:inputType="number"
android:scrollHorizontally="true"/>
</TableRow>
<TableRow
android:gravity="right">
<Button
android:id="@+id/exit"
android:text="@string/no"/>
<Button
android:id="@+id/login"
android:text="@string/login"/>
</TableRow>
</TableLayout>
主要Activity中的代码如下:
package com.bzu.layoutexcise.activity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
public class LayoutActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
//第一个按钮
Button first=(Button) this.findViewById(R.id.first);
//第二个按钮
Button second=(Button) this.findViewById(R.id.second);
//第三个按钮
Button third=(Button) this.findViewById(R.id.third);
/*
* 点击第一个按钮处理方法
*/
first.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(LayoutActivity.this, FrameLayoutActivity.class);
setTitle("非洲地图");
startActivity(intent);
}
});
/*
* 点击第二个按钮处理方法
*/
second.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(LayoutActivity.this, RelativeLayoutActivity.class);
setTitle("演示RelativeLayout布局");
startActivity(intent);
}
});
/*
* 点击第三个按钮处理方法
*/
third.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(LayoutActivity.this, TableLayoutActivity.class);
setTitle("TableLayout布局");
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_layout, menu);
return true;
}
}
最后,strings.xml中的代码如下:
<resources>
<string name="app_name">LayoutExcise</string>
<string name="first">非洲草原地图:FrameLayout的使用</string>
<string name="second">个性化表单:RelativeLayout的使用</string>
<string name="third">整齐的表单:TableLayout的使用</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_layout">程序主界面</string>
<string name="hello_world">Hello world!</string>
<string name="relativeinput">请输入用户名:</string>
<string name="yes">确定</string>
<string name="no">取消</string>
<string name="name">用户名:</string>
<string name="password">密码:</string>
<string name="login">登录</string>
<string name="title_activity_frame_layout">非洲地图</string>
<string name="title_activity_relative_layout">演示RelativeLayout布局</string>
<string name="title_activity_table_layout">TableLayout布局</string>
</resources>