天天看點

android gridview行分割線,Android使用GridView實作表格分割線效果

使用GridView實作表格分割線效果,網格布局表格布局也是可以實作的。

效果如下:

android gridview行分割線,Android使用GridView實作表格分割線效果

1.主函數代碼:

package com.example.qd.douyinwu;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.SimpleAdapter;

import android.widget.TextView;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class SGridViewAcivity extends Activity {

private View view = null;

private GridView gridView;

private List> data_list;

private SimpleAdapter sim_adapter;

private Context mContext;

// 圖檔封裝為一個數組

private int[] icon = {R.drawable.ic_launcher_background, R.drawable.ic_launcher_background,

R.drawable.jz_backward_icon, R.drawable.jz_backward_icon, R.drawable.ic_launcher_background,

R.drawable.jz_backward_icon, R.drawable.jz_backward_icon, R.drawable.ic_launcher_background,

R.drawable.jz_backward_icon, R.drawable.ic_launcher_background, R.drawable.ic_launcher_background,

R.drawable.jz_backward_icon};

private String[] iconName = {"通訊錄", "月曆", "照相機", "時鐘", "遊戲", "短信", "鈴聲",

"設定", "語音", "天氣", "浏覽器", "視訊"};

private String[] iconNames = {"", "籃球", "擊劍", "保齡球", "排球","撞球",

"中國", "666", "688", "999", "888","988",

"意大利", "122", "222", "112","388","321",

"法國", "322", "200", "100", "210","188",

"南韓", "101", "120", "142", "234", "532"};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_gv);

gridView = (GridView) findViewById(R.id.gridView2);

//建立List

data_list = new ArrayList>();

//擷取資料

getData();

//建立擴充卡

String[] from = {"image", "text"};

int[] to = {R.id.image, R.id.text};

gridView.setAdapter(new ImageAdapter(SGridViewAcivity.this));

// sim_adapter = new SimpleAdapter(this, data_list, R.layout.item, from, to);

//配置擴充卡

// gridView.setAdapter(sim_adapter);

}

public List> getData() {

//cion和iconName的長度是相同的,這裡任選其一都可以

for (int i = 0; i < icon.length; i++) {

Map map = new HashMap();

map.put("image", icon[i]);

map.put("text", iconName[i]);

data_list.add(map);

}

return data_list;

}

// references to our images

private Integer[] mThumbIds = {

R.drawable.jz_backward_icon, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume,

R.drawable.jz_add_volume, R.drawable.jz_add_volume

};

private class ImageAdapter extends BaseAdapter {

private Context mContext;

public ImageAdapter(Context context) {

this.mContext = context;

}

@Override

public int getCount() {

return iconNames.length;

}

@Override

public Object getItem(int position) {

return null;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder viewHolder = null;

if (convertView == null) {

convertView = LayoutInflater.from(mContext).inflate(R.layout.item, parent, false);

viewHolder = new ViewHolder();

// viewHolder.itemImg = (ImageView) convertView.findViewById(R.id.iv_head);

viewHolder.mText = (TextView) convertView.findViewById(R.id.text);

convertView.setTag(viewHolder);

} else {

viewHolder = (ViewHolder) convertView.getTag();

}

// 這裡隻是模拟,實際開發可能需要加載網絡圖檔,可以使用ImageLoader這樣的圖檔加載架構來異步加載圖檔

// imageLoader.displayImage("drawable://" + mThumbIds[position], viewHolder.itemImg);

viewHolder.mText.setText(iconNames[position]);

return convertView;

}

class ViewHolder {

ImageView itemImg;

TextView mText;

}

}

}

2.主函數布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/colorPrimary"

android:orientation="vertical">

android:id="@+id/gridView2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:background="#999"

android:horizontalSpacing="1dp"

android:verticalSpacing="1dp"

android:padding="1dp"

android:numColumns="6" />

ListView設定分割線的話設定:

android:divider

android:dividerHeight

a、設定GridView背景色。

b、設定水準和豎直方向間隔:android:horizontalSpacing和android:verticalSpacing。

c、設定GridView的item的背景色及其選中後的顔色。

3.擴充卡布局:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@drawable/gv_one_selector"

>

android:id="@+id/text"

android:gravity="center"

android:layout_width="match_parent"

android:layout_height="39dp"

android:textSize="13sp"

android:padding="0dp"

android:text="TextView" />

4.背景選擇器gv_one_selector:

android:state_selected="true" >

android:color="#CCCCCC"

/>

android:state_pressed="true" >

android:color="#CCCCCC"

/>

android:color="#FFFFFF"

/>

參考選擇器:

android:state_selected="true" >

android:color="#CCCCCC"

/>

android:state_pressed="true" >

android:color="#CCCCCC"

/>

以上是全部代碼。

以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援腳本之家。