GridView网格布局,默认情况下是没有网格线的

查找网上资料,找到了一种为GridView添加网格线的小技巧

实际上,该网格线是通过设置GridView各子项的间隔,并分别设置GridView背景色与子项背景色实现的。

实现方法

  1. 设置GridView背景色,设置水平间方向间隔属性值android:horizontalSpacing和竖直方向间隔属性值android:verticalSpacing
  2. 设置GridView子项背景色
示例代码: main.xml Xml代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <GridViewxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:id="@+id/main_GridView"
  4. android:horizontalSpacing="1dp"
  5. android:verticalSpacing="1dp"
  6. android:stretchMode="columnWidth"
  7. android:numColumns="3"
  8. android:gravity="center"
  9. android:listSelector="@null"
  10. android:background="#DCDCDC"
  11. android:layout_width="fill_parent"
  12. android:layout_height="fill_parent">
  13. </GridView>
Main.java Java代码
  1. packagedyingbleed.iteye;
  2. importandroid.app.Activity;
  3. importandroid.content.Context;
  4. importandroid.graphics.Color;
  5. importandroid.os.Bundle;
  6. importandroid.view.Gravity;
  7. importandroid.view.View;
  8. importandroid.view.ViewGroup;
  9. importandroid.view.ViewGroup.LayoutParams;
  10. importandroid.widget.AbsListView;
  11. importandroid.widget.BaseAdapter;
  12. importandroid.widget.GridView;
  13. importandroid.widget.TextView;
  14. publicclassMainextendsActivity{
  15. privateGridViewgrid;
  16. @Override
  17. publicvoidonCreate(BundlesavedInstanceState){
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.main);
  20. grid=(GridView)findViewById(R.id.main_GridView);
  21. grid.setAdapter(newGridViewAdapter(this));
  22. }
  23. privateclassGridViewAdapterextendsBaseAdapter{
  24. privateContextcontext;
  25. publicGridViewAdapter(Contextcontext){
  26. this.context=context;
  27. }
  28. intcount=100;
  29. @Override
  30. publicintgetCount(){
  31. returncount;
  32. }
  33. @Override
  34. publicObjectgetItem(intposition){
  35. returnposition;
  36. }
  37. @Override
  38. publiclonggetItemId(intposition){
  39. returnposition;
  40. }
  41. @Override
  42. publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
  43. TextViewresult=newTextView(context);
  44. result.setText("Item"+position);
  45. result.setTextColor(Color.BLACK);
  46. result.setTextSize(24);
  47. result.setLayoutParams(newAbsListView.LayoutParams(newLayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)));
  48. result.setGravity(Gravity.CENTER);
  49. result.setBackgroundColor(Color.WHITE);//设置背景颜色
  50. returnresult;
  51. }
  52. }
  53. }
运行截图:

更多相关文章

  1. 用Fiddler抓取Android、Iphone网络数据包
  2. Android之TextView属性列表
  3. Android动画效果-更新中
  4. Android(安卓)onDraw
  5. android Canvas用法
  6. Android(安卓)CoordinatorLayout打造酷炫的顶部栏
  7. gravity和android:layout_gravity区别
  8. Android各种访问权限Permission详解
  9. Android之TextView------属性大全

随机推荐

  1. Android View之用户界面...
  2. Android应用开发常用知识
  3. MTK android 6572的一个编译的脚本
  4. 查看Activity栈
  5. AndroidStudioSDK下tools下各个文件(夹)
  6. Android进阶2之检索Android的图片库并显
  7. 2019-12-29
  8. Android(安卓)RecyclerView的StaggeredGr
  9. Ubuntu Android 的 USB 调试模式
  10. 基于 Android 的学习之旅-----环境搭建