实验5 Android 应用的界面开发(5)

更新时间:2023-10-25 17:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验5、Android 应用的界面开发(5)

一、 实验目的

1、掌握TabHost、ListView、GridView、Menu的功能和用法 2、了解Gallery的用法

二、 实验步骤

1、

利用TabHost的功能将前面的例子融合(在demos/tabhost例子中添加以下功能)

A、在

layout/activity_main.xml中增加如下代码:

xmlns:android=\\

android:id=\

android:layout_width=\ android:layout_height=\ >

android:layout_width=\ android:layout_height=\ android:fillViewport=\ android:scrollbars=\ >

android:layout_height=\/>

android:layout_width=\

android:layout_height=\ />

B、在src/MainActivity.java中增加如下代码:

public class MainActivity extends TabActivity { TabHost m_TabHost;

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

m_TabHost = this.getTabHost(); TabSpec spec1 = m_TabHost.newTabSpec(\).setIndicator(\用户登录\).setContent(new Intent(this,

LoginActivity.class));

TabSpec spec2 = m_TabHost.newTabSpec(\).setIndicator(\图书管理

\,getResources().getDrawable(R.drawable.icon)).setContent(new Intent(this, AddbookActivity.class));

m_TabHost.addTab(spec1); m_TabHost.addTab(spec2);

} }

C、在AndroidManifest.xml中增加如下代码

android:allowBackup=\

android:icon=\ android:label=\ android:theme=\ >

android:name=\ android:label=\ >

android:name=\ />

android:name=\ />

2、ListView(在demos/tabhost例子中添加以下功能)

A、在

layout中增加listview.xml,并输入如下代码:

xmlns:android=\\

android:orientation=\ android:layout_width=\

android:layout_height=\>

android:id=\

android:layout_width=\

android:layout_height=\/> B、在

layout中增加data_list.xml,并输入如下代码:

xmlns:android=\oid\

android:orientation=\ android:layout_width=\ android:layout_height=\ android:background=\>

android:id=\

android:layout_height=\ android:layout_width=\ android:padding=\/>

android:orientation=\ android:layout_width=\

android:layout_height=\ android:gravity=\>

android:id=\ android:textSize=\ android:padding=\

android:layout_width=\

android:layout_height=\ />

android:id=\ android:padding=\ android:textSize=\

android:layout_width=\

android:layout_height=\ />

android:layout_width=\ android:layout_height=\ />

android:layout_width=\ android:layout_height=\ /> C、在

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;

src中增加ListViewActivity.java,并输入如下代码:

import android.app.Activity;

import android.os.Bundle; import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast;

public class ListViewActivity extends Activity {

private int pic[] = new int[] { R.drawable.pic_oracle,

R.drawable.pic_javase, R.drawable.pic_javaweb, R.drawable.pic_javaee, R.drawable.pic_android,

R.drawable.pic_game };

private String data[][] = new String[][] { { \数据库\, \当当网\ },{ \SE基础课程\, \李刚\ }, { \WEB综合开发\, MLDN\ },{ \EE高级开发\, \李兴华\ }, { \嵌入式开发\, \李小明\ },{ \游戏开发\, \李祺\ } };

private ListView datalist = null; // 定义ListView组件

private List> list = new ArrayList>(); // 定义显示的内容包装

private SimpleAdapter simpleAdapter = null; // 进行数据的转换操作

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.listview);

datalist = (ListView) findViewById(R.id.datalist); // 取得组for (int x = 0; x < data.length; x++) {

Map map = new HashMap(); // 定义Map集合,保存每一行数据

map.put(\, String.valueOf(pic[x])); // 与data_list.xml中的TextView组加匹配

map.put(\, data[x][0]); // 与data_list.xml中的

TextView组加匹配

map.put(\, data[x][1]); // 与data_list.xml中的TextView组加匹配

map.put(\, \免费\);

map.put(\, String.valueOf(R.drawable.start_05)); list.add(map); // 保存了所有的数据行 }

simpleAdapter = new SimpleAdapter(this, list,

R.layout.data_list, new String[] { \, \, \, \ } // Map中的key的名称

, new int[] { R.id.pic, R.id.title, R.id.author,

R.id.score }); // 是data_list.xml中定义的组件的资

\, R.id.type, 源ID

datalist.setAdapter(simpleAdapter);

datalist.setOnItemClickListener(new OnItemClickListener(){

public void onItemClick(AdapterView arg0, View arg1, int position,

long arg3) {

Toast.makeText(getBaseContext(), \你选择的是:

\+data[position][0].toString(), Toast.LENGTH_LONG).show(); }} );

} }

D、仿照上面的例子增加tabhost面板内容。

4、Menu(在37.MenuDemo中修改)

A、在

MainActivity.java中增加如下代码:

public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, menu1, 1, \开始\); menu.add(0, menu2, 2, \设置\); menu.add(0, menu3, 3, \退出\);

SubMenu subMenu = menu.addSubMenu(0, menu4, 4, \); subMenu.setIcon(R.drawable.download); subMenu.add(0, menu8, 1, \江苏省\); subMenu.add(0, menu9, 2, \上海市\);

menu.add(0, menu5, 5, \账户\);

\省份

menu.add(0, menu6, 6, \下载\); menu.add(0, menu7, 7, \帮助\);

// menu.setGroupVisible(0, false);

// MenuInflater inflater = getMenuInflater(); // inflater.inflate(R.menu.menu_item, menu); return true; }

public boolean onOptionsItemSelected(MenuItem item) {

switch(item.getItemId()) {

case menu1:

Intent intent = new Intent(this, SecondActivity.class);

startActivity(intent); case menu8:

Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show(); }

return true; }

5、课后习题 : 实现以下“图书网格”的功能

本文来源:https://www.bwwdw.com/article/3402.html

Top