国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發之使用GridView展示圖片的方法

2020-04-11 11:03:03
字體:
來源:轉載
供稿:網友

本文實例講述了Android使用GridView展示圖片的方法。分享給大家供大家參考,具體如下:

今天說說GridView的使用。

所謂GvidView翻譯過來就是網格布局:是一個ViewGroup以網格顯示它的子視圖(view)元素,即二維的、可滾動的網格。網格元素通過ListAdapter自動插入到網格。

這個GridView用處特別多,我這里是用來展示廣告的。2*3的廣告位置。

廢話少說先看個效果圖,有圖就可以說個XX,對吧,大家都懂的。

大家可以看到搜索下面的那6個塊,效果布局還行吧,哈哈。下面跟著我的節奏來實現這個效果:

第一步準備你的layout.xml

在你的layout.xml中加入一個Gridview:

<GridView    android:id="@+id/topMerchants"    style="@style/CustomGridView"    android:layout_width="fill_parent"    android:layout_height="0dip"    android:layout_marginTop="0dip"    android:layout_weight="1"    android:columnWidth="50dip"    android:gravity="center"    android:horizontalSpacing="5dip"    android:numColumns="3"    android:paddingTop="5dip"    android:stretchMode="columnWidth"    android:verticalSpacing="5dip"    android:minHeight="50dip"    />

這里面的屬性都好理解,按照英文意思就行了,這里不多說。

第二步,準備GridView要展示的內容,即一個adapter:

public class TopMerchantGridAdapter extends BaseAdapter {  private List<? extends Object> list;  private AsyncImageLoader asyncImageLoader;  private Context context;  private static int getViewTimes = 0;  private String TAG = TopMerchantGridAdapter.class.getName();  public TopMerchantGridAdapter(List<? extends Object> list, Context context) {    this.list = list;    this.context = context;    asyncImageLoader = new AsyncImageLoader();  }  @Override  public int getCount() {    return list.size();  }  @Override  public Object getItem(int position) {    return list.get(position);  }  @Override  public long getItemId(int position) {    return position;  }  @Override  public View getView(int position, View convertView, ViewGroup parent) {    final ImageView imageView;    QuhaoLog.i(TAG, "getView times : " + (getViewTimes++));    QuhaoLog.i(TAG, "getView " + position + " " + convertView);    Drawable cachedImage = null;    TopMerchant topMerchant = (TopMerchant) this.getItem(position);    final int defaultWidth = PhoneTool.getScreenWidth() / 3; // 屏幕寬度的1/3    final int defaultHight = PhoneTool.getScreenHeight() / 7; // 屏幕高度的1/7    if (null == convertView) {      imageView = new ImageView(context);      imageView.setLayoutParams(new GridView.LayoutParams(defaultWidth, defaultHight));      imageView.setPadding(8, 8, 8, 8);    } else {      imageView = (ImageView) convertView;    }    imageView.setScaleType(ImageView.ScaleType.FIT_XY);    // no content on top merchant grid    if (StringUtils.isNull(topMerchant.id)) {      imageView.setImageResource(R.drawable.no_logo);      return imageView;    }    String imageUrl = topMerchant.url;    QuhaoLog.d(TAG, "asyncImageLoader, the imageUrl is : " + imageUrl);    if (StringUtils.isNotNull(imageUrl)) {      cachedImage = asyncImageLoader.loadDrawable(imageUrl, position); //這里是從網絡獲取圖片      imageView.setImageDrawable(cachedImage);    }    return imageView;  }  class ViewHolder {    ImageView img;    TextView itemView;    TextView countView;  }}

這里主要要注意的是重寫getView方法。這里我的圖片展示有兩種來源,一個是本地圖片(no_logo),還有一種是從網絡中下載的。你可以忽略來源。

最后一步把GridView和adapter連接起來:

GridView categorysGird = (GridView) findViewById(R.id.categorys);// 獲取到GridViewListAdapter adapter = new TopMerchantGridAdapter(topMerchants, MainActivity.this);topMerchantsGird.setAdapter(adapter);// 設置GridView的數據

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万山特区| 贡嘎县| 五大连池市| 绍兴市| 兴宁市| SHOW| 彝良县| 腾冲县| 嵊州市| 上思县| 泰兴市| 依兰县| 紫金县| 西昌市| 岳普湖县| 临猗县| 祁东县| 浏阳市| 罗定市| 阳春市| 长春市| 九江市| 禹城市| 磐石市| 临夏县| 噶尔县| 景德镇市| 定南县| 富川| 双牌县| 法库县| 思南县| 宁城县| 无极县| 云浮市| 衡东县| 闸北区| 交城县| 修文县| 泸州市| 监利县|