android gridview行分割线,Android使用GridView实现表格分割线效果
使用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;
/**
* 自定義gridlayout 表格實現系列
*
* https://github.com/li504799868/gridlayoutview
* https://github.com/eason90/gridbuilder
*
* https://github.com/wimsonevel/androidgridlayout
*
* https://blog.csdn.net/swust_chenpeng/article/details/37873215
* tablelayout 實現類似gridview的效果 帶分割線
*
*
* https://github.com/lrh1993/autoflowlayout 網格布局實現
* https://github.com/dolphinwang/gridlayout
* https://blog.csdn.net/aminy123/article/details/69053339 頻道管理
*/
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"
/>
以上是全部代碼。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持萬仟網。
總結
以上是生活随笔為你收集整理的android gridview行分割线,Android使用GridView实现表格分割线效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式仿真平台SkyEye的覆盖率分析
- 下一篇: flutter ios打包_使用 Tra