在gridview中显示图片的时候,最好设置图片的高度和宽度,否则当加载的图片高度和宽度不一致的时候,会导致整个布局出现问题。
样式如下:
注意:1:在xml中LinearLayout 下有两个控件,如果不加上外围这个LinearLayout模板格式,加载view的时候,布局会乱掉(或者显示不全),必须设置控件;排列方式
2:ANDROID中长度,宽度刻度是:dp 。 字体大小刻度是: sp。:
3:项目中添加图片的时候,注意图片的名称,否则在项目中无法找到该图片对应的ID。(名称不能数字开头,不能有大写字母。名称规则是 a-z0-9。
以下是xml文件和gridview的监听事件
//java 文件
gridView.setOnItemClickListener(new ItemClickListener());
class ItemClickListener implements OnItemClickListener{
public void onItemClick(AdapterView<?> parent, View view, int position, long rowid) {
HashMap<String, Object> item = (HashMap<String, Object>) parent.getItemAtPosition(position);
//获取数据源的属性值
String itemText =(String)item.get("itemText");
Object object=item.get("itemImage");
Toast.makeText(MainActivity.this, itemText, Toast.LENGTH_LONG).show();
//根据图片进行相应的跳转
switch (images[position]) {
case R.drawable.p1:
startActivity(new Intent(MainActivity.this,TestActivity1.class));
break;
default:
break;
}
}
}
gridview中显示的元素设置
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView android:layout_height ="110dp"
android:layout_width="wrap_content"
android:layout_centerHorizontal ="true"
android:id ="@+id/itemImage">
</ImageView>
<TextView android:layout_width="wrap_content"
android:layout_below="@+id/itemImage"
android:layout_height="wrap_content"
android:text="TextView01"
android:textColor="#000"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:id="@+id/itemText">
</TextView>
</LinearLayout>
gridview设置
<?xml version="1.0" encoding="utf-8"?>
<!--
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",两列之间的边距
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id ="@+id/txtTitle"
android:text="@string/app_title"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:textStyle="bold"
android:textSize="15sp"
android:textColor="#FF0000"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<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:layout_marginTop="20dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="100dp"
android:stretchMode="columnWidth"
android:gravity="center"
/></LinearLayout>