当前位置:   article > 正文

Android页面下拉列表的简单页面_linearlayout 能下拉

linearlayout 能下拉

首先打开安卓的ADT软件

创建一个项目,取名为Day08

我们今天创建这样的一个Android页面

视图分析:该图是由6个线性布局<LinearLayout>(如下图六个红线框框),文本框<TextView>,列表视图<ListView>

打开我们创建的项目Day08找到res-layout,

一.打开activity_main.xml文件开始创建我们的第一个页面

1.改成线性布局,在线性布局里面确定是垂直排列还是水平排列,并插入背景图片

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="@drawable/bg"
  6. android:orientation="vertical"
  7. tools:context=".MainActivity" >
  8. </LinearLayout>

2.开始我们的局内控件创作(无列表视图和最外层的线性布局,颜色与对齐方式可在自己的布局控件中设置)

  1. <LinearLayout
  2. android:layout_width="match_parent"
  3. android:layout_height="90dp" >
  4. <TextView
  5. android:layout_width="match_parent"
  6. android:layout_height="70dp"
  7. android:gravity="center"
  8. android:textSize="20dp"
  9. android:text="新冠疫苗接种记录" />
  10. </LinearLayout>
  11. <LinearLayout
  12. android:layout_width="match_parent"
  13. android:layout_height="80dp" >
  14. <TextView
  15. android:layout_width="0dp"
  16. android:layout_height="70dp"
  17. android:layout_weight="1"
  18. android:gravity="center_vertical|right"
  19. android:textColor="#000000"
  20. android:textSize="15dp"
  21. android:text="姓名:" />
  22. <TextView
  23. android:layout_width="0dp"
  24. android:layout_height="70dp"
  25. android:layout_weight="3"
  26. android:gravity="center_horizontal"
  27. android:textColor="#892628"
  28. android:text="zhangsan" />
  29. </LinearLayout>
  30. <LinearLayout
  31. android:layout_width="match_parent"
  32. android:layout_height="80dp" >
  33. <TextView
  34. android:layout_width="0dp"
  35. android:layout_height="70dp"
  36. android:layout_weight="1"
  37. android:gravity="center_vertical|right"
  38. android:textColor="#000000"
  39. android:textSize="15dp"
  40. android:text="身份证号:" />
  41. <TextView
  42. android:layout_width="0dp"
  43. android:layout_height="70dp"
  44. android:layout_weight="3"
  45. android:gravity="center_horizontal"
  46. android:textColor="#892628"
  47. android:text="41233319999042511234" />
  48. </LinearLayout>
  49. <LinearLayout
  50. android:layout_width="match_parent"
  51. android:layout_height="50dp" >
  52. <TextView
  53. android:layout_width="0dp"
  54. android:layout_height="40dp"
  55. android:layout_weight="1"
  56. android:gravity="center_vertical|left"
  57. android:text="序号" />
  58. <TextView
  59. android:layout_width="0dp"
  60. android:layout_height="40dp"
  61. android:layout_weight="1"
  62. android:gravity="center_horizontal|left"
  63. android:text="疫苗厂家" />
  64. <TextView
  65. android:layout_width="0dp"
  66. android:layout_height="40dp"
  67. android:layout_weight="1"
  68. android:gravity="center_horizontal|left"
  69. android:text="剂次" />
  70. <TextView
  71. android:layout_width="0dp"
  72. android:layout_height="40dp"
  73. android:layout_weight="1"
  74. android:gravity="center_horizontal|left"
  75. android:text="接种日期" />
  76. <TextView
  77. android:layout_width="0dp"
  78. android:layout_height="40dp"
  79. android:layout_weight="1"
  80. android:gravity="center_horizontal|left"
  81. android:text="接种单位" />
  82. </LinearLayout>

3.列表视图

  1. <ListView
  2. android:id="@+id/lv_item"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content" >
  5. </ListView>

代码总览

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="@drawable/bg"
  6. android:orientation="vertical"
  7. tools:context=".MainActivity" >
  8. <LinearLayout
  9. android:layout_width="match_parent"
  10. android:layout_height="90dp" >
  11. <TextView
  12. android:layout_width="match_parent"
  13. android:layout_height="70dp"
  14. android:gravity="center"
  15. android:textSize="20dp"
  16. android:text="新冠疫苗接种记录" />
  17. </LinearLayout>
  18. <LinearLayout
  19. android:layout_width="match_parent"
  20. android:layout_height="80dp" >
  21. <TextView
  22. android:layout_width="0dp"
  23. android:layout_height="70dp"
  24. android:layout_weight="1"
  25. android:gravity="center_vertical|right"
  26. android:textColor="#000000"
  27. android:textSize="15dp"
  28. android:text="姓名:" />
  29. <TextView
  30. android:layout_width="0dp"
  31. android:layout_height="70dp"
  32. android:layout_weight="3"
  33. android:gravity="center_horizontal"
  34. android:textColor="#892628"
  35. android:text="zhangsan" />
  36. </LinearLayout>
  37. <LinearLayout
  38. android:layout_width="match_parent"
  39. android:layout_height="80dp" >
  40. <TextView
  41. android:layout_width="0dp"
  42. android:layout_height="70dp"
  43. android:layout_weight="1"
  44. android:gravity="center_vertical|right"
  45. android:textColor="#000000"
  46. android:textSize="15dp"
  47. android:text="身份证号:" />
  48. <TextView
  49. android:layout_width="0dp"
  50. android:layout_height="70dp"
  51. android:layout_weight="3"
  52. android:gravity="center_horizontal"
  53. android:textColor="#892628"
  54. android:text="41233319999042511234" />
  55. </LinearLayout>
  56. <LinearLayout
  57. android:layout_width="match_parent"
  58. android:layout_height="50dp" >
  59. <TextView
  60. android:layout_width="0dp"
  61. android:layout_height="40dp"
  62. android:layout_weight="1"
  63. android:gravity="center_vertical|left"
  64. android:text="序号" />
  65. <TextView
  66. android:layout_width="0dp"
  67. android:layout_height="40dp"
  68. android:layout_weight="1"
  69. android:gravity="center_horizontal|left"
  70. android:text="疫苗厂家" />
  71. <TextView
  72. android:layout_width="0dp"
  73. android:layout_height="40dp"
  74. android:layout_weight="1"
  75. android:gravity="center_horizontal|left"
  76. android:text="剂次" />
  77. <TextView
  78. android:layout_width="0dp"
  79. android:layout_height="40dp"
  80. android:layout_weight="1"
  81. android:gravity="center_horizontal|left"
  82. android:text="接种日期" />
  83. <TextView
  84. android:layout_width="0dp"
  85. android:layout_height="40dp"
  86. android:layout_weight="1"
  87. android:gravity="center_horizontal|left"
  88. android:text="接种单位" />
  89. </LinearLayout>
  90. <ListView
  91. android:id="@+id/lv_item"
  92. android:layout_width="match_parent"
  93. android:layout_height="wrap_content" >
  94. </ListView>
  95. </LinearLayout>

在下拉列表中我们需要在res-layout中新创建一个xml,来对下拉列表进行一个布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="horizontal" >
  6. <TextView
  7. android:id="@+id/Text01"
  8. android:layout_width="0dp"
  9. android:layout_height="match_parent"
  10. android:textColor="#ffffff"
  11. android:layout_weight="1" />
  12. <TextView
  13. android:id="@+id/Text02"
  14. android:layout_width="0dp"
  15. android:layout_height="match_parent"
  16. android:textColor="#ffffff"
  17. android:layout_weight="1" />
  18. <TextView
  19. android:id="@+id/Text03"
  20. android:layout_width="0dp"
  21. android:layout_height="match_parent"
  22. android:textColor="#ffffff"
  23. android:layout_weight="1" />
  24. <TextView
  25. android:id="@+id/Text04"
  26. android:layout_width="0dp"
  27. android:layout_height="match_parent"
  28. android:textColor="#ffffff"
  29. android:layout_weight="1" />
  30. <TextView
  31. android:id="@+id/Text05"
  32. android:layout_width="0dp"
  33. android:layout_height="match_parent"
  34. android:textColor="#ffffff"
  35. android:layout_weight="1" />
  36. </LinearLayout>

这两步完成之后代码视图(下图所示)

 二.对下拉列表进行填充内容

找到项目里面的src点击MainActivity并进行编辑

1.定义所有id的控件(在上面列表视图当中我们添加了一个控件名叫lv_Item的id)

private ListView lvItem;

2.找到所有的有ID的控件,并对列表示图进行内容填充

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5. // 2.找到所有的有ID的控件
  6. init();
  7. //对内容进行填充
  8. String[] number = new String[] { "1", "2" };
  9. String[] Factory = new String[] { "科兴中维", "科兴中维" };
  10. String[] dose = new String[] { "1", "2" };
  11. String[] date = new String[] { "2021-05-25", "2021-06-17" };
  12. String[] unit = new String[] { "郑州中心医院", "郑州中心医院" };
  13. private void init() {
  14. lvItem = (ListView) findViewById(R.id.lv_item);
  15. }
  16. }

3.根据simpleAdapter的结构创建一个Map集合进行数据储存

  1. for (int i = 0; i < number.length; i++) {
  2. Map<String, Object> showItem = new HashMap<String, Object>();
  3. showItem.put("icon", number[i]);
  4. showItem.put("title", Factory[i]);
  5. showItem.put("content", dose[i]);
  6. showItem.put("creat", date[i]);
  7. showItem.put("create", unit[i]);
  8. listItem.add(showItem);
  9. }

4.创建适配器,对当前页面的显示,显示的数据,显示数据的布局以及存储的内容在控件中所对应的位置绑定,最后绑定适配器

  1. // 创建适配器
  2. // 当前页面显示,显示的数据,显示什么样的数据(getApplicationContext(),
  3. listItem,
  4. R.layout.linear)
  5. // 这里面存储的内容在控件中所对应的位置绑定
  6. SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(),
  7. listItem,
  8. R.layout.linear,
  9. new String[] { "icon", "title","content", "creat", "create" },
  10. new int[] { R.id.Text01, R.id.Text02, R.id.Text03, R.id.Text04,R.id.Text05 });
  11. // 绑定适配器
  12. lvItem.setAdapter(adapter);

代码总览

  1. package com.example.day08;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import android.os.Bundle;
  7. import android.app.Activity;
  8. import android.view.Menu;
  9. import android.widget.ListView;
  10. import android.widget.SimpleAdapter;
  11. import android.widget.Spinner;
  12. public class MainActivity extends Activity {
  13. // 1.定义所有id的控件
  14. private ListView lvItem;
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_main);
  19. // 2.找到所有的有ID的控件
  20. init();
  21. String[] number = new String[] { "1", "2" };
  22. String[] Factory = new String[] { "科兴中维", "科兴中维" };
  23. String[] dose = new String[] { "1", "2" };
  24. String[] date = new String[] { "2021-05-25", "2021-06-17" };
  25. String[] unit = new String[] { "郑州中心医院", "郑州中心医院" };
  26. List<Map<String, Object>> listItem = new ArrayList<Map<String, Object>>();
  27. // contents为上面的存储数据名可变换其他两个
  28. // 根据simpleAdapter的结构创建一个Map集合进行数据储存
  29. // 遍历这个数组并储存
  30. for (int i = 0; i < number.length; i++) {
  31. Map<String, Object> showItem = new HashMap<String, Object>();
  32. showItem.put("icon", number[i]);
  33. showItem.put("title", Factory[i]);
  34. showItem.put("content", dose[i]);
  35. showItem.put("creat", date[i]);
  36. showItem.put("create", unit[i]);
  37. listItem.add(showItem);
  38. }
  39. // 创建适配器
  40. // 当前页面显示,显示的数据,显示什么样的数据
  41. // 这里面存储的内容在控件中所对应的位置绑定
  42. // 绑定适配器
  43. SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(),
  44. listItem,
  45. R.layout.linear,
  46. new String[] { "icon", "title","content", "creat", "create" },
  47. new int[] { R.id.Text01, R.id.Text02, R.id.Text03, R.id.Text04,R.id.Text05 });
  48. lvItem.setAdapter(adapter);
  49. }
  50. private void init() {
  51. lvItem = (ListView) findViewById(R.id.lv_item);
  52. }
  53. }

这样一个Android页面下拉列表的简单页面就做出来了

结束之后运行Android模拟器看看运行效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/111512
推荐阅读
相关标签
  

闽ICP备14008679号