万书网 > 文学作品 > Android从入门到精通 > 第172页

第172页





android:layout_height="fill_parent"



android:columnWidth="90dp"



android:numColumns="auto_fit"



verticalSpacing="10dp"



android:horizontalSpacing="10dp"



android:stretchMode="spacingWidthUniform"



android:gravity="center"



/>

在res\layout目录下再新建一个文件gvitem.xml,用来为main.xml布局文件中的GridView组件提供资源,然后在该文件中添加一个ImageView  组件和一个TextView组件,实现代码如下:








android:id="@+id/item"



android:orientation="vertical"



android:layout_width="wrap_content"



android:layout_height="wrap_content"



android:layout_marginTop="5dp"



>






android:layout_width="75dp"



android:layout_height="75dp"



android:layout_gravity="center"



android:scaleType="fitXY"



android:padding="4dp"



/>






android:layout_width="wrap_content"



android:layout_height="wrap_content"



android:layout_gravity="center"



android:gravity="center_horizontal"



/>





15.9.2 显示各功能窗口

在com.xiaoke.accountsoft.activity包中创建一个MainActivity.java文件,该文件的布局文件设置为main.xml。在MainActivity.java文件中,首先创建一个GridView组件对象,然后分别定义一个String类型的数组和一个int类型的数组,分别用来存储系统功能的文本及对应的图标,代码如下:

GridView  gvInfo;  //创建GridView对象



String[]  titles=new  String[]{"新增支出","新增收入","我的支出","我的收入","数据管理","系统设置","收支便签","退出"};  //定义字符串数组,存储系统功能的文本



int[]  images=new  int[]{R.drawable.addoutaccount,R.drawable.addinaccount,



R.drawable.outaccountinfo,R.drawable.inaccountinfo,R.drawable.showinfo,R.drawable.sysset,R.drawable.accountflag,R.drawable.exit};  //定义int数组,存储功能对应的图标

当用户在主窗体中单击各功能按钮时,使用相应功能所对应的Activity初始化Intent对象,然后使用startActivity()方法启动相应的Activity,而如果用户单击的是“退出”按钮,则调用finish()方法关闭当前Activity。代码如下:

@Override



public  void  onCreate(Bundle  savedInstanceState)  {



super.onCreate(savedInstanceState);



setContentView(R.layout.main);



gvInfo=(GridView)  findViewById(R.id.gvInfo);  //获取布局文件中的gvInfo组件



pictureAdapter  adapter=new  pictureAdapter(titles,images,this);  //创建pictureAdapter对象



gvInfo.setAdapter(adapter);  //为GridView设置数据源



gvInfo.setOnItemClickListener(new  OnItemClickListener()  {  //为GridView设置项单击事件



@Override



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



long  arg3)  {



Intent  intent  =  null;  //创建Intent对象



switch  (arg2)  {



case  0:



       //使用AddOutaccount窗口初始化Intent



intent=new  Intent(MainActivity.this,  AddOutaccount.class);



startActivity(intent);  //打开AddOutaccount



break;



case  1:



       //使用AddInaccount窗口初始化Intent





intent=new  Intent(MainActivity.this,  AddInaccount.class);



startActivity(intent);  //打开AddInaccount



break;



case  2:



       //使用Outaccountinfo窗口初始化Intent





intent=new  Intent(MainActivity.this,  Outaccountinfo.class);



startActivity(intent);  //打开Outaccountinfo



break;



case  3:



       //使用Inaccountinfo窗口初始化Intent





intent=new  Intent(MainActivity.this,  Inaccountinfo.class);



startActivity(intent);  //打开Inaccountinfo