当前位置: 代码迷 >> Android >> Android 九宫图GridView及承袭BaseAdapter实现
  详细解决方案

Android 九宫图GridView及承袭BaseAdapter实现

热度:87   发布时间:2016-05-01 17:16:22.0
Android 九宫图GridView及继承BaseAdapter实现

?九宫图两种实现

?

一:九宫图GridView

???? 转载http://blog.csdn.net/hellogv/article/details/4567095

????GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。本文介绍的GridView用法跟前文ListView的极其类似,?

?本文需要添加/修改3个文件:main.xml、night_item.xml、JAVA源代码。

main.xml源代码如下,本身是个GirdView,用于装载Item:

?

<?xml?version="1.0"?encoding="utf-8"?>??

<GridView?xmlns:android="http://schemas.android.com/apk/res/android"???

android:id="@+id/gridview"??

android:layout_width="fill_parent"???

android:layout_height="fill_parent"??

android:numColumns="auto_fit"??

android:verticalSpacing="10dp"??

android:horizontalSpacing="10dp"??

android:columnWidth="90dp"??

android:stretchMode="columnWidth"??

android:gravity="center"??

/>??

?

介绍一下里面的某些属性:

android:numColumns="auto_fit" ,GridView的列数设置为自动

android:columnWidth="90dp",每列的宽度,也就是Item的宽度
android:stretchMode="columnWidth",缩放与列宽大小同步
android:verticalSpacing="10dp",两行之间的边距,如:行一(NO.0~NO.2)与行二(NO.3~NO.5)间距为10dp
android:horizontalSpacing="10dp",两列之间的边距。

?

接下来介绍 night_item.xml,这个XML跟前面ListView的ImageItem.xml很类似:

?

?
<?xml version="1.0" encoding="utf-8"?>  <RelativeLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_height="wrap_content"            android:paddingBottom="4dip" android:layout_width="fill_parent">           <ImageView                  android:layout_height="wrap_content"                  android:id="@+id/ItemImage"                  android:layout_width="wrap_content"                  android:layout_centerHorizontal="true">            </ImageView>           <TextView                  android:layout_width="wrap_content"                  android:layout_below="@+id/ItemImage"                  android:layout_height="wrap_content"                  android:text="TextView01"                  android:layout_centerHorizontal="true"                  android:id="@+id/ItemText">           </TextView>  </RelativeLayout>  
?

最后就是JAVA的源代码了,也跟前面的ListView的JAVA源代码很类似,不过多了“选中”的事件处理:见附件:NineGridView

?

二:继承BaseAdapter实现

?

?

gridview是一项显示二维的viewgroup,可滚动的网格。网格项时自动插入的布局使用listadapter。
1.创建一个新的项目:gridview.

2,打开?res/layout/main.xml文件,插入一下代码:

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">	<GridView     android:id="@+id/gridview"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:columnWidth="90dp"     android:numColumns="auto_fit"     android:verticalSpacing="10dp"     android:horizontalSpacing="10dp"     android:stretchMode="columnWidth"     android:gravity="center"/></LinearLayout>

?

做好以后就可以在屏幕上显示一个grid view?如图:代码见附件NineGridViewSelf

?

?

?

  相关解决方案