日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发学习笔记:Gallery和GridView浅析

發布時間:2025/6/15 Android 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发学习笔记:Gallery和GridView浅析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.Gallery的簡介

??? Gallery(畫廊)是一個鎖定中心條目并且擁有水平滾動列表的視圖,一般用來瀏覽圖片,并且可以響應事件顯示信息。Gallery還可以和ImageSwitcher組件結合使用來實現一個通過縮略圖來瀏覽圖片的效果。

Gallery常用的XML屬性

屬性名稱

描述

android:animationDuration

設置布局變化時動畫的轉換所需的時間(毫秒級)。僅在動畫開始時計時。該值必須是整數,比如:100。

android:gravity

指定在對象的X和Y軸上如何放置內容。指定一下常量中的一個或多個(使用 “|”分割)

Constant

Value

Description

top

0x30

緊靠容器頂端,不改變其大小

bottom

0x50

緊靠容器底部,不改變其大小

left

0x03

緊靠容器左側,不改變其大小

right

0x05

緊靠容器右側,不改變其大小

center_vertical

0x10

垂直居中,不改變其大小

fill_vertical

0x70

垂直方向上拉伸至充滿容器

center_horizontal

0x01

水平居中,不改變其大小

Fill_horizontal

0x07

水平方向上拉伸使其充滿容器

center

0x11

居中對齊,不改變其大小

fill

0x77

在水平和垂直方向上拉伸,使其充滿容器

clip_vertical

0x80

垂直剪切(當對象邊緣超出容器的時候,將上下邊緣超出的部分剪切掉)

clip_horizontal

0x08

水平剪切(當對象邊緣超出容器的時候,將左右邊緣超出的部分剪切掉)

android:spacing

圖片之間的間距

android:unselectedAlpha

設置未選中的條目的透明度(Alpha)。該值必須是float類型,比如:“1.2”。

首先介紹Gallery單獨使用的例子:

MainActivity.java

  • package?com.android.gallerydemo; ?
  • ?
  • import?android.app.Activity; ?
  • import?android.content.Context; ?
  • import?android.os.Bundle; ?
  • import?android.view.View; ?
  • import?android.view.ViewGroup; ?
  • import?android.widget.AdapterView; ?
  • import?android.widget.AdapterView.OnItemClickListener; ?
  • import?android.widget.BaseAdapter; ?
  • import?android.widget.Gallery; ?
  • import?android.widget.ImageView; ?
  • import?android.widget.Toast; ?
  • ?
  • public?class?MainActivity?extends?Activity?{ ?
  • ?
  • ???private?Gallery?gallery; ?
  • ????@Override?
  • ????public?void?onCreate(Bundle?savedInstanceState)?{ ?
  • ?
  • ????????super.onCreate(savedInstanceState); ?
  • ????????setContentView(R.layout.main); ?
  • ????????gallery?=?(Gallery)findViewById(R.id.gallery); ?
  • ????????//設置圖片適配器 ?
  • ????????gallery.setAdapter(new?ImageAdapter(this)); ?
  • ????????//設置監聽器 ?
  • ????????gallery.setOnItemClickListener(new?OnItemClickListener()?{ ?
  • ?????????@Override?
  • ?????????public?void?onItemClick(AdapterView<?>parent,?View?v,?int?position,?long?id)?{ ?
  • ????????????Toast.makeText(MainActivity.this,?"點擊了第"+(position+1)+"張圖片",?Toast.LENGTH_LONG).show(); ?
  • ?????????} ?
  • ?????}); ?
  • ????} ?
  • } ?
  • ?
  • class?ImageAdapter?extends?BaseAdapter{ ?
  • ??//聲明Context? ?
  • ??private?Context?context; ?
  • ??//圖片源數組 ?
  • ??private?Integer[]?imageInteger={ ?
  • ?????????R.drawable.pic1, ?
  • ?????????R.drawable.pic2, ?
  • ?????????R.drawable.pic3, ?
  • ?????????R.drawable.pic4, ?
  • ?????????R.drawable.pic5, ?
  • ?????????R.drawable.pic6, ?
  • ?????????R.drawable.pic7 ?
  • ??}; ?
  • ?? ?
  • ??//聲明?ImageAdapter ?
  • ??public?ImageAdapter(Context?c){ ?
  • ?????context?=?c; ?
  • ??} ?
  • ?
  • ??@Override?
  • ??//獲取圖片的個數 ?
  • ??public?int?getCount()?{ ?
  • ?????return?imageInteger.length; ?
  • ??} ?
  • ?
  • ??@Override?
  • ??//獲取圖片在庫中的位置 ?
  • ??public?Object?getItem(int?position)?{ ?
  • ?
  • ?????return?position; ?
  • ??} ?
  • ?
  • ??@Override?
  • ??//獲取圖片在庫中的位置 ?
  • ??public?long?getItemId(int?position)?{ ?
  • ?????//?TODO?Auto-generated?method?stub ?
  • ?????return?position; ?
  • ?} ?
  • ?
  • ??@Override?
  • ??public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{ ?
  • ?
  • ?????ImageView?imageView?=?new?ImageView(context); ?
  • ?????//給ImageView設置資源 ?
  • ?????imageView.setImageResource(imageInteger[position]); ?
  • ?????//設置比例類型 ?
  • ?????imageView.setScaleType(ImageView.ScaleType.FIT_XY); ?
  • ?????//設置布局?圖片128x192顯示 ?
  • ?????imageView.setLayoutParams(new?Gallery.LayoutParams(128,?192)); ?
  • ?????return?imageView; ?
  • ??} ?
  • } ?
  • ?
  • ?
  • main.xml

  • <?xml?version="1.0"?encoding="utf-8"?>?
  • <Gallery?xmlns:android="http://schemas.android.com/apk/res/android"? ?
  • ??????android:id="@+id/gallery"??????? ?
  • ??????android:layout_width="fill_parent"?
  • ??????android:layout_height="wrap_content"?
  • ??????android:gravity="center_vertical"?
  • ??????android:background="?android:galleryItemBackground"?
  • />?
  • ?
  • 效果圖:

    ?Gallery和ImageSwitcher組件結合使用的例子:

    MainActivity.java

  • package?com.android.gallerytest; ?
  • ?
  • import?android.app.Activity; ?
  • import?android.content.Context; ?
  • import?android.os.Bundle; ?
  • import?android.view.View; ?
  • import?android.view.ViewGroup; ?
  • import?android.view.Window; ?
  • import?android.view.animation.AnimationUtils; ?
  • import?android.widget.AdapterView; ?
  • import?android.widget.BaseAdapter; ?
  • import?android.widget.Gallery; ?
  • import?android.widget.ImageSwitcher; ?
  • import?android.widget.ImageView; ?
  • import?android.widget.AdapterView.OnItemSelectedListener; ?
  • import?android.widget.Gallery.LayoutParams; ?
  • import?android.widget.ViewSwitcher.ViewFactory; ?
  • ?
  • public?class?MainActivity?extends?Activity?implements?OnItemSelectedListener, ?
  • ????????ViewFactory?{ ?
  • ???? ?
  • ????private?ImageSwitcher?mSwitcher; ?
  • ????//大圖片對應的縮略圖源數組 ?
  • ????private?Integer[]?mThumbIds?=?{?R.drawable.sample_thumb_0, ?
  • ????????????R.drawable.sample_thumb_1,?R.drawable.sample_thumb_2, ?
  • ????????????R.drawable.sample_thumb_3,?R.drawable.sample_thumb_4, ?
  • ????????????R.drawable.sample_thumb_5,?R.drawable.sample_thumb_6, ?
  • ????????????R.drawable.sample_thumb_7?}; ?
  • ????//大圖片源數組 ?
  • ????private?Integer[]?mImageIds?=?{?R.drawable.sample_0,?R.drawable.sample_1, ?
  • ????????????R.drawable.sample_2,?R.drawable.sample_3,?R.drawable.sample_4, ?
  • ????????????R.drawable.sample_5,?R.drawable.sample_6,?R.drawable.sample_7?}; ?
  • ?
  • ????@Override?
  • ????public?void?onCreate(Bundle?savedInstanceState)?{ ?
  • ????????super.onCreate(savedInstanceState); ?
  • ????????//設置窗口無標題 ?
  • ????????requestWindowFeature(Window.FEATURE_NO_TITLE); ?
  • ????????setContentView(R.layout.main); ?
  • ????????mSwitcher?=?(ImageSwitcher)?findViewById(R.id.switcher); ?
  • ????????//注意在使用一個ImageSwitcher之前, ?
  • ????????//一定要調用setFactory方法,要不setImageResource這個方法會報空指針異常。 ?
  • ????????mSwitcher.setFactory(this); ?
  • ????????//設置動畫效果 ?
  • ????????mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, ?
  • ????????????????android.R.anim.fade_in)); ?
  • ????????mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, ?
  • ????????????????android.R.anim.fade_out)); ?
  • ?
  • ????????Gallery?g?=?(Gallery)?findViewById(R.id.gallery); ?
  • ???????? ?
  • ????????//添加OnItemSelectedListener監聽器 ?
  • ????????g.setAdapter(new?ImageAdapter(this)); ?
  • ????????g.setOnItemSelectedListener(this); ?
  • ?
  • ????} ?
  • ????//創建內部類ImageAdapter ?
  • ????public?class?ImageAdapter?extends?BaseAdapter?{ ?
  • ????????public?ImageAdapter(Context?c)?{ ?
  • ????????????mContext?=?c; ?
  • ????????} ?
  • ????????public?int?getCount()?{ ?
  • ????????????return?mThumbIds.length; ?
  • ????????} ?
  • ????????public?Object?getItem(int?position)?{ ?
  • ????????????return?position; ?
  • ????????} ?
  • ????????public?long?getItemId(int?position)?{ ?
  • ????????????return?position; ?
  • ????????} ?
  • ????????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{ ?
  • ????????????ImageView?i?=?new?ImageView(mContext); ?
  • ?
  • ????????????i.setImageResource(mThumbIds[position]); ?
  • ????????????//設置邊界對齊 ?
  • ????????????i.setAdjustViewBounds(true); ?
  • ????????????//設置布局參數 ?
  • ????????????i.setLayoutParams(new?Gallery.LayoutParams( ?
  • ????????????????????LayoutParams.WRAP_CONTENT,?LayoutParams.WRAP_CONTENT)); ?
  • ????????????//設置背景資源 ?
  • ????????????i.setBackgroundResource(R.drawable.picture_frame); ?
  • ????????????return?i; ?
  • ????????} ?
  • ????????private?Context?mContext; ?
  • ????} ?
  • ?
  • ????@Override?
  • ????//實現onItemSelected()方法,更換圖片 ?
  • ????public?void?onItemSelected(AdapterView<?>?adapter,?View?v,?int?position, ?
  • ????????????long?id)?{ ?
  • ????????//設置圖片資源 ?
  • ????????mSwitcher.setImageResource(mImageIds[position]); ?
  • ????} ?
  • ?
  • ????@Override?
  • ????public?void?onNothingSelected(AdapterView<?>?arg0)?{ ?
  • ?
  • ????} ?
  • ?
  • ????@Override?
  • ????//實現makeView()方法,為ImageView設置布局格式 ?
  • ????public?View?makeView()?{ ?
  • ????????ImageView?i?=?new?ImageView(this); ?
  • ????????//設置背景顏色 ?
  • ????????i.setBackgroundColor(0xFF000000); ?
  • ????????//設置比例類型 ?
  • ????????i.setScaleType(ImageView.ScaleType.FIT_CENTER); ?
  • ????????//設置布局參數 ?
  • ????????i.setLayoutParams(new?ImageSwitcher.LayoutParams( ?
  • ????????????????LayoutParams.FILL_PARENT,?LayoutParams.FILL_PARENT)); ?
  • ????????return?i; ?
  • ????} ?
  • }?
  • ?main.xml

  • <?xml?version="1.0"?encoding="utf-8"?>?
  • <RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"? ?
  • ????android:layout_width="fill_parent"? ?
  • ????android:layout_height="fill_parent"?
  • ????>???? ?
  • ????<ImageSwitcher? ?
  • ????????android:id="@+id/switcher"?
  • ????????android:layout_width="fill_parent"?
  • ????????android:layout_height="fill_parent"?
  • ????????android:layout_alignParentTop="true"?
  • ????????android:layout_alignParentLeft="true"?
  • ????????/>??? ?
  • ????<Gallery?
  • ????????android:id="@+id/gallery"?
  • ????????android:background="#55000000"?
  • ????????android:layout_width="fill_parent"?
  • ????????android:layout_height="60dp"?
  • ????????android:layout_alignParentBottom="true"?
  • ????????android:layout_alignParentLeft="true"?
  • ????????android:gravity="center_vertical"?
  • ????????android:spacing="16dp"?
  • ????????/>?
  • </RelativeLayout>?
  • ??? ?
  • 效果圖:

    ?二.GridView的簡介

    ??? GridView(網格視圖)是按照行列的方式來顯示內容的,一般用于顯示圖片,圖片等內容,比如實現九宮格圖,用GridView是首選,也是最簡單的。主要用于設置Adapter。

    GridView常用的XML屬性:

    屬性名稱

    描述

    android:columnWidth

    設置列的寬度。

    android:gravity

    設置此組件中的內容在組件中的位置。可選的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多選,用“|”分開。

    android:horizontalSpacing

    兩列之間的間距。

    android:numColumns

    設置列數。

    android:stretchMode

    縮放模式。

    android:verticalSpacing

    兩行之間的間距。

    下面有三個例子,第一個是只顯示圖片的,第二個是顯示圖片文字的(這里的圖片是Android系統自帶的圖片),第三個是顯示自定義的圖片文字。前面兩個例子的實現都不是很難,第三個例子的實現有些復雜,學習GridView的時候,就想著能不能自定義自己喜歡的圖片加上文字,在網上找些資料,一般都是第二個例子的形式的,最后在視頻學習上找到了能實現自定義自己的圖片的例子。自己就照著例子去學習,修改成了第三個例子。

    第一個例子:

    MainActivity.java

  • package com.android.gridview.activity;
  • import android.app.Activity;
  • import android.content.Context;
  • import android.os.Bundle;
  • import android.view.View;
  • import android.view.ViewGroup;
  • import android.widget.AdapterView;
  • import android.widget.AdapterView.OnItemClickListener;
  • import android.widget.BaseAdapter;
  • import android.widget.GridView;
  • import android.widget.ImageView;
  • import android.widget.Toast;
  • publicclass MainActivity extends Activity {
  • @Override
  • publicvoid onCreate(Bundle savedInstanceState) {
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.main);
  • GridView gv = (GridView)findViewById(R.id.GridView1);
  • //為GridView設置適配器
  • gv.setAdapter(new MyAdapter(this));
  • //注冊監聽事件
  • gv.setOnItemClickListener(new OnItemClickListener()
  • {
  • publicvoid onItemClick(AdapterView<?> parent, View v, int position, long id)
  • {
  • Toast.makeText(MainActivity.this, "pic" + position, Toast.LENGTH_SHORT).show();
  • }
  • });
  • }
  • }
  • //自定義適配器
  • class MyAdapter extends BaseAdapter{
  • //上下文對象
  • private Context context;
  • //圖片數組
  • private Integer[] imgs = {
  • R.drawable.pic0, R.drawable.pic1, R.drawable.pic2,
  • R.drawable.pic3, R.drawable.pic4, R.drawable.pic5,
  • R.drawable.pic6, R.drawable.pic7, R.drawable.pic8,
  • R.drawable.pic0, R.drawable.pic1, R.drawable.pic2,
  • R.drawable.pic3, R.drawable.pic4, R.drawable.pic5,
  • R.drawable.pic6, R.drawable.pic7, R.drawable.pic8,
  • };
  • MyAdapter(Context context){
  • this.context = context;
  • }
  • publicint getCount() {
  • return imgs.length;
  • }
  • public Object getItem(int item) {
  • return item;
  • }
  • publiclong getItemId(int id) {
  • return id;
  • }
  • //創建View方法
  • public View getView(int position, View convertView, ViewGroup parent) {
  • ImageView imageView;
  • if (convertView == null) {
  • imageView = new ImageView(context);
  • imageView.setLayoutParams(new GridView.LayoutParams(75, 75));//設置ImageView對象布局
  • imageView.setAdjustViewBounds(false);//設置邊界對齊
  • imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);//設置刻度的類型
  • imageView.setPadding(8, 8, 8, 8);//設置間距
  • }
  • else {
  • imageView = (ImageView) convertView;
  • }
  • imageView.setImageResource(imgs[position]);//為ImageView設置圖片資源
  • return imageView;
  • }
  • }
  • main.xml

  • <?xmlversion="1.0"encoding="utf-8"?>
  • <LinearLayoutxmlns: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/GridView1"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:columnWidth="90dp"
  • android:numColumns="3"
  • android:verticalSpacing="10dp"
  • android:horizontalSpacing="10dp"
  • android:stretchMode="columnWidth"
  • android:gravity="center"
  • />
  • </LinearLayout>
  • 效果圖:

    ?

    第二個例子:

    MainActivity.java

  • package com.android.gridview2.activity;
  • import java.util.ArrayList;
  • import java.util.HashMap;
  • import java.util.List;
  • import java.util.Map;
  • import android.app.Activity;
  • import android.os.Bundle;
  • import android.widget.GridView;
  • import android.widget.SimpleAdapter;
  • publicclass MainActivity extends Activity {
  • private GridView gv;
  • @Override
  • protectedvoid onCreate(Bundle savedInstanceState) {
  • // TODO Auto-generated method stub
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.gridview);
  • //準備要添加的數據條目
  • List<Map<String, Object>> items = new ArrayList<Map<String,Object>>();
  • for (int i = 0; i < 9; i++) {
  • Map<String, Object> item = new HashMap<String, Object>();
  • item.put("imageItem", R.drawable.icon);//添加圖像資源的ID
  • item.put("textItem", "icon" + i);//按序號添加ItemText
  • items.add(item);
  • }
  • //實例化一個適配器
  • SimpleAdapter adapter = new SimpleAdapter(this,
  • items,
  • R.layout.grid_item,
  • new String[]{"imageItem", "textItem"},
  • newint[]{R.id.image_item, R.id.text_item});
  • //獲得GridView實例
  • gv = (GridView)findViewById(R.id.mygridview);
  • //為GridView設置適配器
  • gv.setAdapter(adapter);
  • }
  • }
  • gridview.xml

  • <?xmlversion="1.0"encoding="utf-8"?>
  • <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • >
  • <GridView
  • android:id="@+id/mygridview"
  • android:numColumns="3"
  • android:gravity="center_horizontal"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:stretchMode="columnWidth"
  • />
  • </LinearLayout>
  • grid_item.xml

  • <?xmlversion="1.0"encoding="utf-8"?>
  • <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  • android:id="@+id/RelativeLayout1"
  • android:layout_width="wrap_content"
  • android:layout_height="fill_parent"
  • android:paddingBottom="6dip"
  • >
  • <ImageView
  • android:id="@+id/image_item"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_centerHorizontal="true"
  • />
  • <TextView
  • android:id="@+id/text_item"
  • android:layout_below="@+id/image_item"
  • android:layout_height="wrap_content"
  • android:layout_width="wrap_content"
  • android:layout_centerHorizontal="true"
  • />
  • </RelativeLayout>
  • 效果圖:

    ?

    第三個例子:

    MainActivity.java

  • package com.android.gridview3;
  • import java.util.ArrayList;
  • import java.util.List;
  • import android.app.Activity;
  • import android.content.Context;
  • import android.os.Bundle;
  • import android.view.LayoutInflater;
  • import android.view.View;
  • import android.view.ViewGroup;
  • import android.widget.AdapterView;
  • import android.widget.BaseAdapter;
  • import android.widget.GridView;
  • import android.widget.ImageView;
  • import android.widget.TextView;
  • import android.widget.Toast;
  • import android.widget.AdapterView.OnItemClickListener;
  • publicclass MainActivity extends Activity
  • {
  • private GridView gridView;
  • //圖片的文字標題
  • private String[] titles = new String[]
  • { "pic1", "pic2", "pic3", "pic4", "pic5", "pic6", "pic7", "pic8", "pic9"};
  • //圖片ID數組
  • privateint[] images = newint[]{
  • R.drawable.pic1, R.drawable.pic2, R.drawable.pic3,
  • R.drawable.pic4, R.drawable.pic5, R.drawable.pic6,
  • R.drawable.pic7, R.drawable.pic8,R.drawable.pic9
  • };
  • @Override
  • publicvoid onCreate(Bundle savedInstanceState){
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.main);
  • gridView = (GridView) findViewById(R.id.gridview);
  • PictureAdapter adapter = new PictureAdapter(titles, images, this);
  • gridView.setAdapter(adapter);
  • gridView.setOnItemClickListener(new OnItemClickListener()
  • {
  • publicvoid onItemClick(AdapterView<?> parent, View v, int position, long id)
  • {
  • Toast.makeText(MainActivity.this, "pic" + (position+1), Toast.LENGTH_SHORT).show();
  • }
  • });
  • }
  • }
  • //自定義適配器
  • class PictureAdapter extends BaseAdapter{
  • private LayoutInflater inflater;
  • private List<Picture> pictures;
  • public PictureAdapter(String[] titles, int[] images, Context context)
  • {
  • super();
  • pictures = new ArrayList<Picture>();
  • inflater = LayoutInflater.from(context);
  • for (int i = 0; i < images.length; i++)
  • {
  • Picture picture = new Picture(titles[i], images[i]);
  • pictures.add(picture);
  • }
  • }
  • @Override
  • publicint getCount()
  • {
  • if (null != pictures)
  • {
  • return pictures.size();
  • } else
  • {
  • return0;
  • }
  • }
  • @Override
  • public Object getItem(int position)
  • {
  • return pictures.get(position);
  • }
  • @Override
  • publiclong getItemId(int position)
  • {
  • return position;
  • }
  • @Override
  • public View getView(int position, View convertView, ViewGroup parent)
  • {
  • ViewHolder viewHolder;
  • if (convertView == null)
  • {
  • convertView = inflater.inflate(R.layout.picture_item, null);
  • viewHolder = new ViewHolder();
  • viewHolder.title = (TextView) convertView.findViewById(R.id.title);
  • viewHolder.image = (ImageView) convertView.findViewById(R.id.image);
  • convertView.setTag(viewHolder);
  • } else
  • {
  • viewHolder = (ViewHolder) convertView.getTag();
  • }
  • viewHolder.title.setText(pictures.get(position).getTitle());
  • viewHolder.image.setImageResource(pictures.get(position).getImageId());
  • return convertView;
  • }
  • }
  • class ViewHolder
  • {
  • public TextView title;
  • public ImageView image;
  • }
  • class Picture
  • {
  • private String title;
  • privateint imageId;
  • public Picture()
  • {
  • super();
  • }
  • public Picture(String title, int imageId)
  • {
  • super();
  • this.title = title;
  • this.imageId = imageId;
  • }
  • public String getTitle()
  • {
  • return title;
  • }
  • publicvoid setTitle(String title)
  • {
  • this.title = title;
  • }
  • publicint getImageId()
  • {
  • return imageId;
  • }
  • publicvoid setImageId(int imageId)
  • {
  • this.imageId = imageId;
  • }
  • }
  • main.xml

  • <?xmlversion="1.0"encoding="utf-8"?>
  • <GridViewxmlns:android="http://schemas.android.com/apk/res/android"
  • 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"
  • />
  • picture_item.xml

  • <?xmlversion="1.0"encoding="utf-8"?>
  • <LinearLayout
  • xmlns:android="http://schemas.android.com/apk/res/android"
  • android:id="@+id/root"
  • android:orientation="vertical"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_marginTop="5dp"
  • >
  • <ImageView
  • android:id="@+id/image"
  • android:layout_width="100dp"
  • android:layout_height="150dp"
  • android:layout_gravity="center"
  • android:scaleType="fitXY"
  • android:padding="4dp"
  • />
  • <TextView
  • android:id="@+id/title"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_gravity="center"
  • android:gravity="center_horizontal"
  • />
  • </LinearLayout>
  • 效果圖:

    總結

    以上是生活随笔為你收集整理的Android开发学习笔记:Gallery和GridView浅析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。