• Android九宫格界面实现点击每个格点击跳转界面


    刚开始有个任务就是做一个九宫格界面,后来有个任务就是实现点击每个格并跳转界面实现每个格的功能。下面我就介绍一下我是如何实现该功能的

    首先写一下我的想法是:

    登录成功后显示一个九宫格界面,每个九宫格的每一个都是一个功能模块,当点击每个模块时,就会跳转到相应的界面并实现该模块所具备的功能。

    下面是以"综合实践管理系统"这个格来实现的,当我们点击该按钮时,他就会跳转到"学生综合实践模块积分申请表"这个界面然后我们通过下拉菜单选择自己想要申请的项目。然后点击"下一步"我们就跳转到补充信息这个界面了,实现上传照片还有补充信息这个功能界面。

    第二步:跳转到下面这个界面

    第三步点击下一步跳转到完善信息这个界面

    点击加号上传你要加分的证明图片,这个照片可以调用相机照也可以是从相册中获取

    点击从相册中获取会

    下面就是我用到的控件及控件的用法。

      1 package com.itcast.test03;

    3 import java.util.ArrayList; 4 import java.util.HashMap; 6 import android.os.Bundle; 7 import android.app.Activity; 8 import android.content.Intent; 9 import android.view.Menu; 10 import android.view.View; 11 import android.view.ViewGroup; 12 import android.widget.AdapterView; 13 import android.widget.AdapterView.OnItemClickListener; 14 import android.widget.BaseAdapter; 15 import android.widget.GridView; 16 import android.widget.ImageView; 17 import android.widget.SimpleAdapter; 18 import android.widget.TextView; 19 import android.widget.Toast; 20 21 public class StudentMainActivity extends Activity { 22 private GridView gridview; 23 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.activity_student_main); 28 gridview = (GridView)findViewById(R.id.gridView1); 29 ArrayList<HashMap<String,Object>> lstImageItem = new ArrayList<HashMap<String,Object>>(); 30 for(int i = 1;i<20;i++){ 31 HashMap<String,Object> map = new HashMap<String, Object>(); 32 if(i==1){ 33 map.put("ItemImage", R.drawable.ic_launcher02); 34 map.put("ItemText", "实践教学管理系统"); 35 36 }else if(i==2){ 37 map.put("ItemImage", R.drawable.ic_launcher06); 38 map.put("ItemText", "毕业设计管理系统"); 39 40 }else if(i==3){ 41 map.put("ItemImage", R.drawable.ic_launcher02); 42 map.put("ItemText", "开放实验管理系统"); 43 44 }else if(i==4){ 45 map.put("ItemImage", R.drawable.ic_launcher03); 46 map.put("ItemText", "实习实训管理系统"); 47 48 }else if(i==5){ 49 map.put("ItemImage", R.drawable.ic_launcher05); 50 map.put("ItemText", "班级事务管理系统"); 51 52 }else if(i==6){ 53 map.put("ItemImage", R.drawable.ic_launcher06); 54 map.put("ItemText", "综合实践管理系统"); 55 56 }else if(i==7){ 57 map.put("ItemImage", R.drawable.ic_launcher04); 58 map.put("ItemText", "其他事物2管理系统"); 59 60 }else if(i==8){ 61 map.put("ItemImage", R.drawable.ic_launcher08); 62 map.put("ItemText", "其他事物3管理系统"); 63 64 }else if(i==9){ 65 map.put("ItemImage", R.drawable.ic_launcher01); 66 map.put("ItemText", "其他事物4管理系统"); 67 68 }else if(i==10){ 69 map.put("ItemImage", R.drawable.ic_launcher02); 70 map.put("ItemText", "开放实验管理系统"); 71 72 }else if(i==11){ 73 map.put("ItemImage", R.drawable.ic_launcher03); 74 map.put("ItemText", "实习实训管理系统"); 75 76 }else if(i==12){ 77 map.put("ItemImage", R.drawable.ic_launcher05); 78 map.put("ItemText", "班级事务管理系统"); 79 80 }else if(i==13){ 81 map.put("ItemImage", R.drawable.ic_launcher06); 82 map.put("ItemText", "综合实践管理系统"); 83 84 }else if(i==14){ 85 map.put("ItemImage", R.drawable.ic_launcher04); 86 map.put("ItemText", "其他事物2管理系统"); 87 88 }else if(i==15){ 89 map.put("ItemImage", R.drawable.ic_launcher08); 90 map.put("ItemText", "其他事物3管理系统"); 91 92 }else if(i==16){ 93 map.put("ItemImage", R.drawable.ic_launcher01); 94 map.put("ItemText", "其他事物4管理系统"); 95 96 } 97 lstImageItem.add(map); 98 } 99 SimpleAdapter saImageItems = new SimpleAdapter(this, 100 lstImageItem,R.layout.next_activity_student_main, 101 new String[]{"ItemImage","ItemText"}, 102 new int[] {R.id.ItemImage,R.id.ItemText}); 103 gridview.setAdapter(saImageItems); 104 gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 105 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 106 long arg3) { 107 int index = arg2 + 1;// id是从0开始的,所以需要+1 108 if (index == 1) { 109 110 Intent intent = new Intent(); 111 intent.setClass(StudentMainActivity.this, 112 StudentNextMainActivity.class); 113 startActivity(intent); 114 } 115 if (index == 2) { 116 Intent intent = new Intent(); 117 intent.setClass(StudentMainActivity.this, 118 StudentNextMainActivity.class); 119 startActivity(intent); 120 121 } 122 123 } 124 }); 125 126 127 128 129 130 } 131 }
     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2          android:layout_width="match_parent"
     3          android:layout_height="wrap_content"              
     4          android:orientation="vertical" >
     5 
     6      <RelativeLayout 
     7              android:id="@+id/rl_username"
     8              android:layout_width="match_parent"
     9              android:layout_height="wrap_content"            
    10              android:background="#000000">
    11              <TextView 
    12                  android:id="@+id/tv_name"
    13                  android:layout_width="match_parent"
    14                  android:layout_height="wrap_content"
    15                  android:layout_centerVertical="true"
    16                  android:layout_margin="35dp"
    17                  android:textSize="20sp"
    18                  android:textColor="#FFFFFF"
    19                  android:text="欢迎登录软件学院管理系统"/>     
    20          </RelativeLayout>
    21 
    22     <LinearLayout
    23         android:layout_width="match_parent"
    24         android:layout_height="wrap_content"        
    25         android:orientation="vertical" >                 
    26     <GridView
    27         android:id="@+id/gridView1"
    28         android:layout_width="match_parent"
    29         android:layout_height="wrap_content"
    30         android:numColumns="3" >
    31     </GridView>
    32 </LinearLayout>
    33 </LinearLayout>
     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     android:layout_width="fill_parent"
     3     android:layout_height="wrap_content" >
     4 
     5     <ImageView
     6         android:id="@+id/ItemImage"
     7         android:layout_width="50dp"
     8         android:layout_height="50dp"
     9        android:layout_centerHorizontal="true"/>
    10 
    11     <TextView
    12         android:id="@+id/ItemText"
    13         android:layout_width="wrap_content"
    14         android:layout_height="wrap_content"
    15           android:layout_centerHorizontal="true"
    16         android:layout_below="@+id/ItemImage"
    17         android:layout_marginTop="24dp"
    18         android:textColor="#000000"
    19         android:textSize="12sp"  />
    20    
    21 </RelativeLayout>

     以上是实现这个界面的代码

      1 package com.itcast.test03;
      2 
      3 import android.os.Bundle;
      4 import android.app.Activity;
      5 import android.view.Menu;
      6 import java.io.File;
      7 import java.io.FileOutputStream;
      8 import android.os.Environment;
      9 import android.content.Intent;
     10 import android.graphics.Bitmap;
     11 import android.view.View;
     12 import android.widget.AdapterView;
     13 import android.widget.ArrayAdapter;
     14 import android.widget.Spinner;
     15 public class StudentNextMainActivity extends Activity
     16 {
     17     private Spinner projectsSpinner = null;  
     18     private Spinner kindsSpinner = null;    
     19     private Spinner examinesSpinner = null;   
     20     ArrayAdapter<String>  projectsAdapter = null;  
     21     ArrayAdapter<String> kindsAdapter = null;    
     22     ArrayAdapter<String> examinesAdapter = null;    
     23     static int provincePosition = 3;   
     24     private String[] projects = new String[] {"科研训练","素质拓展","社会实践"};
     25     private String[][] kinds = new String[][] 
     26             {
     27                     { "项目类", "成果类", "学术活动"},
     28                     { "专业素质", "综合素质"},
     29                     { "无"}
     30             };
     31 
     32 
     33     private String[][][] examines = new String[][][] 
     34             {
     35                     { //科研训练
     36                         {"主持或参加科研项目","校大学生创新基金重点项目","校大学生创新基金一般项目"},
     37                         {"获奖","著作","专利","论文"},
     38                         {"学术交流","学术讲座","课外读书"}
     39                     },
     40                     {    //素质拓展
     41                         {"学科竞赛(含挑战杯)","证书"},
     42                         {"开放实验","参加文体活动","组织活动"}
     43                     },
     44                     {    //社会实践
     45                         {"社会实践活动","社团活动","公益劳动","自主创业"}
     46                     }
     47             };
     48 
     49     
     50     @Override
     51     protected void onCreate(Bundle savedInstanceState)
     52     {
     53         super.onCreate(savedInstanceState);
     54         setContentView(R.layout.activity_student_next_main);
     55         setSpinner();
     56     }
     57     public void pitcure(View view){
     58         screenshot();
     59     }
     60     private void screenshot()
     61     {
     62         // 获取屏幕
     63         View dView = getWindow().getDecorView();  
     64         dView.setDrawingCacheEnabled(true);   
     65         dView.buildDrawingCache();   
     66         Bitmap bmp = dView.getDrawingCache();
     67         if (bmp != null)
     68         {
     69             try {
     70                 // 获取内置SD卡路径
     71                 String sdCardPath = Environment.getExternalStorageDirectory().getPath();
     72                 // 图片文件路径
     73                 String filePath = sdCardPath + File.separator + "screenshot.png";
     74                  
     75                 File file = new File(filePath);
     76                 FileOutputStream os = new FileOutputStream(file);
     77                 bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
     78                 os.flush();
     79                 os.close();
     80             } catch (Exception e) {
     81             }
     82         }
     83     }
     84     public void next(View view){
     85         Intent intent = new Intent(this,WriteMainActivity.class);
     86         startActivity(intent);
     87     }
     88     
     89     /*
     90      * 设置下拉框
     91      */
     92     private void setSpinner()
     93     {        
     94         projectsSpinner = (Spinner)findViewById(R.id.spin_projects);
     95         kindsSpinner = (Spinner)findViewById(R.id.spin_kinds);
     96         examinesSpinner = (Spinner)findViewById(R.id.spin_examines);
     97 
     98         //绑定适配器和值
     99         projectsAdapter = new ArrayAdapter<String>(StudentNextMainActivity.this,
    100                 android.R.layout.simple_spinner_item, projects);
    101         projectsSpinner.setAdapter( projectsAdapter);
    102         projectsSpinner.setSelection(2,true);  //设置默认选中项,此处为默认选中第3个值
    103 
    104         kindsAdapter = new ArrayAdapter<String>(StudentNextMainActivity.this, 
    105                 android.R.layout.simple_spinner_item, kinds[2]);
    106         kindsSpinner.setAdapter(kindsAdapter);
    107         kindsSpinner.setSelection(0,true);  //默认选中第0个
    108         examinesAdapter = new ArrayAdapter<String>(StudentNextMainActivity.this,
    109                 android.R.layout.simple_spinner_item, examines[2][0]);
    110         examinesSpinner.setAdapter(examinesAdapter);
    111         examinesSpinner.setSelection(0, true);             
    112         projectsSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    113         {
    114             // 表示选项被改变的时候触发此方法,主要实现办法:动态改变地级适配器的绑定值
    115             @Override
    116             public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3)
    117             {
    118                 
    119                 kindsAdapter = new ArrayAdapter<String>(
    120                 StudentNextMainActivity.this, android.R.layout.simple_spinner_item,kinds[position]);
    121                 kindsSpinner.setAdapter(kindsAdapter);
    122                 provincePosition = position;    //记录当前省级序号,留给下面修改县级适配器时用
    123             }
    124             @Override
    125             public void onNothingSelected(AdapterView<?> arg0)
    126             {
    127 
    128             }
    129 
    130         });
    131 
    132         
    133         //种类下拉监听
    134         kindsSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    135         {
    136             @Override
    137             public void onItemSelected(AdapterView<?> arg0, View arg1,
    138                     int position, long arg3)
    139             {
    140                 examinesAdapter = new ArrayAdapter<String>(StudentNextMainActivity.this,
    141                         android.R.layout.simple_spinner_item, examines[provincePosition][position]);
    142                 examinesSpinner.setAdapter(examinesAdapter);
    143             }
    144             @Override
    145             public void onNothingSelected(AdapterView<?> arg0)
    146             {
    147 
    148             }
    149         });
    150     }
    151 }
     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     android:layout_width="fill_parent"
     3     android:layout_height="fill_parent"
     4     android:orientation="vertical"     >
     5 <RelativeLayout
     6     android:layout_width="fill_parent"
     7     android:layout_height="50dp"
     8     android:background="#000000">
     9     <TextView 
    10         android:layout_width="match_parent"
    11         android:layout_height="wrap_content"
    12         android:textSize="24sp"
    13         android:layout_centerInParent="true"
    14         android:layout_centerHorizontal="true"
    15         android:layout_centerVertical="true"
    16         android:textColor="#FFFFFF"
    17         android:text="学生综合实践模块积分申请表"/>
    18 </RelativeLayout>
    19 <View 
    20     android:layout_width="match_parent"
    21     android:layout_height="8dp"/>
    22 <LinearLayout 
    23     android:layout_width="match_parent"
    24     android:layout_height="wrap_content"
    25    android:padding="8dp"
    26     android:orientation="vertical">
    27     <Spinner
    28         android:id="@+id/spin_projects"
    29         android:layout_width="150dp"
    30         android:layout_height="wrap_content" />
    31     <Spinner
    32         android:id="@+id/spin_kinds"
    33         android:layout_width="200dp"
    34         android:layout_height="wrap_content" />
    35     <Spinner
    36         android:id="@+id/spin_examines"
    37         android:layout_width="300dp"
    38         android:layout_height="wrap_content" />
    39 </LinearLayout>
    40 <RelativeLayout 
    41    android:layout_width="match_parent"
    42     android:layout_height="wrap_content" >
    43 
    44     <Button
    45         android:layout_width="wrap_content"
    46         android:layout_height="wrap_content"
    47         android:layout_alignParentRight="true"
    48         android:layout_alignParentTop="true"
    49         android:onClick="pitcure"
    50         android:background="#FFFFFF"
    51         android:textColor="#000000"
    52         android:text="截图" />
    53 <Button
    54         android:layout_width="wrap_content"
    55         android:layout_height="wrap_content"        
    56         android:onClick="next"
    57         android:background="#FFFFFF"
    58         android:textColor="#000000"
    59         android:text="下一步" />
    60     
    61 </RelativeLayout>
    62 
    63 </LinearLayout>

    以上代码是实现这个界面的

     1 package com.itcast.test03;
     2 import android.os.Bundle;
     3 import android.app.Activity;
     4 import android.view.Menu;
     5 
     6 public class WriteMainActivity extends Activity {
     7 
     8     @Override
     9     protected void onCreate(Bundle savedInstanceState) {
    10         super.onCreate(savedInstanceState);
    11         setContentView(R.layout.activity_write_main);
    12     }
    13 
    14     @Override
    15     public boolean onCreateOptionsMenu(Menu menu) {
    16         // Inflate the menu; this adds items to the action bar if it is present.
    17         getMenuInflater().inflate(R.menu.write_main, menu);
    18         return true;
    19     }
    20 
    21 }
     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="vertical"
     6     android:padding="8dp" >
     7     <RelativeLayout
     8        android:layout_width="match_parent"
     9          android:layout_height="50dp"
    10          android:background="#000000"> 
    11          <Button
    12         android:id="@+id/upload"
    13         android:layout_width="wrap_content"
    14         android:layout_height="wrap_content"
    15         android:layout_alignParentRight="true"
    16         android:layout_centerHorizontal="true"
    17         android:layout_centerVertical="true"
    18         android:textColor="#FFFFFF"
    19         android:background="#000000"
    20         android:textSize="18sp"
    21         android:text="发送" />
    22     </RelativeLayout>
    23   
    24 <LinearLayout
    25     android:layout_width="match_parent"
    26     android:layout_height="match_parent"
    27     android:background="#ffffff"
    28     android:orientation="vertical" >
    29    <EditText
    30         android:layout_width="fill_parent"
    31         android:layout_height="100dp"
    32         android:layout_margin="8dp"
    33         android:gravity="left|top"
    34         android:hint="填写你要申请的分数及其他信息......"       
    35         android:background="@null" >
    36     </EditText>
    37     <ImageView 
    38        android:layout_width="100dp"
    39         android:layout_height="100dp"
    40         android:src="@drawable/icon_addpic_unfocused"  />
    41 
    42     <GridView 
    43         android:id="@+id/noScrollgridview"
    44         android:layout_width="290dp"
    45         android:layout_height="350dp"
    46         android:layout_marginLeft="5dp"
    47         android:horizontalSpacing="3dp"        
    48         android:numColumns="4"
    49         android:scrollbars="none"
    50         android:verticalSpacing="5dp" >
    51     </GridView>
    52 
    53 </LinearLayout>
    54 </LinearLayout>

    以上代码是实现这个界面的

  • 相关阅读:
    严重: Parse error in application web.xml file at jndi:/localhost/ipws/WEBINF/web.xml java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml
    Failed to install .apk on device 'emulator5554': timeout解决方法
    java.lang.NoClassDefFoundError:org.jsoup.Jsoup
    Conversion to Dalvik format failed: Unable to execute dex:解决方法
    apache Digest: generating secret for digest authentication ...
    Description Resource Path Location Type Project has no default.properties file! Edit the project properties to set one.
    android service随机自启动
    MVC3 安装部署
    EF 4.3 CodeBased 数据迁移演练
    SQL Server 2008开启sa账户
  • 原文地址:https://www.cnblogs.com/kangyaping/p/5418425.html
Copyright © 2020-2023  润新知