赞
踩
首先打开安卓的ADT软件
创建一个项目,取名为Day08
我们今天创建这样的一个Android页面
视图分析:该图是由6个线性布局<LinearLayout>(如下图六个红线框框),文本框<TextView>,列表视图<ListView>
打开我们创建的项目Day08找到res-layout,
一.打开activity_main.xml文件开始创建我们的第一个页面
1.改成线性布局,在线性布局里面确定是垂直排列还是水平排列,并插入背景图片
- <LinearLayout 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:background="@drawable/bg"
- android:orientation="vertical"
- tools:context=".MainActivity" >
-
- </LinearLayout>
2.开始我们的局内控件创作(无列表视图和最外层的线性布局,颜色与对齐方式可在自己的布局控件中设置)
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="90dp" >
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="70dp"
- android:gravity="center"
- android:textSize="20dp"
- android:text="新冠疫苗接种记录" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="80dp" >
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="1"
- android:gravity="center_vertical|right"
- android:textColor="#000000"
- android:textSize="15dp"
- android:text="姓名:" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="3"
- android:gravity="center_horizontal"
- android:textColor="#892628"
- android:text="zhangsan" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="80dp" >
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="1"
- android:gravity="center_vertical|right"
- android:textColor="#000000"
- android:textSize="15dp"
- android:text="身份证号:" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="3"
- android:gravity="center_horizontal"
- android:textColor="#892628"
- android:text="41233319999042511234" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="50dp" >
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_vertical|left"
- android:text="序号" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="疫苗厂家" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="剂次" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="接种日期" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="接种单位" />
-
-
- </LinearLayout>
-
3.列表视图
- <ListView
- android:id="@+id/lv_item"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" >
- </ListView>
代码总览
- <LinearLayout 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:background="@drawable/bg"
- android:orientation="vertical"
- tools:context=".MainActivity" >
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="90dp" >
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="70dp"
- android:gravity="center"
- android:textSize="20dp"
- android:text="新冠疫苗接种记录" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="80dp" >
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="1"
- android:gravity="center_vertical|right"
- android:textColor="#000000"
- android:textSize="15dp"
- android:text="姓名:" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="3"
- android:gravity="center_horizontal"
- android:textColor="#892628"
- android:text="zhangsan" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="80dp" >
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="1"
- android:gravity="center_vertical|right"
- android:textColor="#000000"
- android:textSize="15dp"
- android:text="身份证号:" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="70dp"
- android:layout_weight="3"
- android:gravity="center_horizontal"
- android:textColor="#892628"
- android:text="41233319999042511234" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="50dp" >
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_vertical|left"
- android:text="序号" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="疫苗厂家" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="剂次" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="接种日期" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="40dp"
- android:layout_weight="1"
- android:gravity="center_horizontal|left"
- android:text="接种单位" />
-
-
- </LinearLayout>
-
- <ListView
- android:id="@+id/lv_item"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" >
- </ListView>
-
- </LinearLayout>
在下拉列表中我们需要在res-layout中新创建一个xml,来对下拉列表进行一个布局
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal" >
-
- <TextView
- android:id="@+id/Text01"
- android:layout_width="0dp"
-
- android:layout_height="match_parent"
- android:textColor="#ffffff"
- android:layout_weight="1" />
-
- <TextView
- android:id="@+id/Text02"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:textColor="#ffffff"
- android:layout_weight="1" />
-
- <TextView
- android:id="@+id/Text03"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:textColor="#ffffff"
- android:layout_weight="1" />
-
- <TextView
- android:id="@+id/Text04"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:textColor="#ffffff"
- android:layout_weight="1" />
-
- <TextView
- android:id="@+id/Text05"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:textColor="#ffffff"
- android:layout_weight="1" />
-
- </LinearLayout>
这两步完成之后代码视图(下图所示)
二.对下拉列表进行填充内容
找到项目里面的src点击MainActivity并进行编辑
1.定义所有id的控件(在上面列表视图当中我们添加了一个控件名叫lv_Item的id)
private ListView lvItem;
2.找到所有的有ID的控件,并对列表示图进行内容填充
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- // 2.找到所有的有ID的控件
- init();
- //对内容进行填充
- String[] number = new String[] { "1", "2" };
- String[] Factory = new String[] { "科兴中维", "科兴中维" };
- String[] dose = new String[] { "1", "2" };
- String[] date = new String[] { "2021-05-25", "2021-06-17" };
- String[] unit = new String[] { "郑州中心医院", "郑州中心医院" };
-
-
- private void init() {
- lvItem = (ListView) findViewById(R.id.lv_item);
- }
- }
3.根据simpleAdapter的结构创建一个Map集合进行数据储存
- for (int i = 0; i < number.length; i++) {
-
- Map<String, Object> showItem = new HashMap<String, Object>();
- showItem.put("icon", number[i]);
- showItem.put("title", Factory[i]);
- showItem.put("content", dose[i]);
- showItem.put("creat", date[i]);
- showItem.put("create", unit[i]);
- listItem.add(showItem);
- }
4.创建适配器,对当前页面的显示,显示的数据,显示数据的布局以及存储的内容在控件中所对应的位置绑定,最后绑定适配器
- // 创建适配器
- // 当前页面显示,显示的数据,显示什么样的数据(getApplicationContext(),
- listItem,
- R.layout.linear)
- // 这里面存储的内容在控件中所对应的位置绑定
- SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(),
- listItem,
- R.layout.linear,
- new String[] { "icon", "title","content", "creat", "create" },
- new int[] { R.id.Text01, R.id.Text02, R.id.Text03, R.id.Text04,R.id.Text05 });
- // 绑定适配器
-
- lvItem.setAdapter(adapter);
代码总览
- package com.example.day08;
-
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- import android.os.Bundle;
- import android.app.Activity;
- import android.view.Menu;
- import android.widget.ListView;
- import android.widget.SimpleAdapter;
- import android.widget.Spinner;
-
- public class MainActivity extends Activity {
-
- // 1.定义所有id的控件
- private ListView lvItem;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- // 2.找到所有的有ID的控件
- init();
-
- String[] number = new String[] { "1", "2" };
- String[] Factory = new String[] { "科兴中维", "科兴中维" };
- String[] dose = new String[] { "1", "2" };
- String[] date = new String[] { "2021-05-25", "2021-06-17" };
- String[] unit = new String[] { "郑州中心医院", "郑州中心医院" };
-
- List<Map<String, Object>> listItem = new ArrayList<Map<String, Object>>();
- // contents为上面的存储数据名可变换其他两个
- // 根据simpleAdapter的结构创建一个Map集合进行数据储存
- // 遍历这个数组并储存
- for (int i = 0; i < number.length; i++) {
-
- Map<String, Object> showItem = new HashMap<String, Object>();
- showItem.put("icon", number[i]);
- showItem.put("title", Factory[i]);
- showItem.put("content", dose[i]);
- showItem.put("creat", date[i]);
- showItem.put("create", unit[i]);
- listItem.add(showItem);
- }
-
- // 创建适配器
- // 当前页面显示,显示的数据,显示什么样的数据
- // 这里面存储的内容在控件中所对应的位置绑定
- // 绑定适配器
- SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(),
- listItem,
- R.layout.linear,
- new String[] { "icon", "title","content", "creat", "create" },
- new int[] { R.id.Text01, R.id.Text02, R.id.Text03, R.id.Text04,R.id.Text05 });
-
- lvItem.setAdapter(adapter);
-
- }
-
- private void init() {
- lvItem = (ListView) findViewById(R.id.lv_item);
- }
-
- }
这样一个Android页面下拉列表的简单页面就做出来了
结束之后运行Android模拟器看看运行效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。