【Android】GridView添加网格线

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.   

14.  </GridView>

[xml] view plaincopyprint?

1.      <?xml version="1.0" encoding="utf-8"?>  

2.      <GridView xmlns: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.    

14.  </GridView>  

<?xml version="1.0" encoding="utf-8"?>

<GridView xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/main_GridView"

    android:horizontalSpacing="1dp"

    android:verticalSpacing="1dp"

    android:stretchMode="columnWidth"

    android:numColumns="3"

    android:gravity="center"

    android:listSelector="@null"

    android:background="#DCDCDC"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

 

</GridView>

Main.java

Java代码

1. package dyingbleed.iteye;

2.  

3. import android.app.Activity;

4. import android.content.Context;

5. import android.graphics.Color;

6. import android.os.Bundle;

7. import android.view.Gravity;

8. import android.view.View;

9. import android.view.ViewGroup;

10.  import android.view.ViewGroup.LayoutParams;

11.  import android.widget.AbsListView;

12.  import android.widget.BaseAdapter;

13.  import android.widget.GridView;

14.  import android.widget.TextView;

15.   

16.  publicclass Main extends Activity {

17.   

18.  private GridView grid;

19.   

20.  @Override

21.  publicvoid onCreate(Bundle savedInstanceState) {

22.  super.onCreate(savedInstanceState);

23.  setContentView(R.layout.main);

24.   

25.  grid = (GridView) findViewById(R.id.main_GridView);

26.  grid.setAdapter(new GridViewAdapter(this));

27.  }

28.   

29.  privateclass GridViewAdapter extends BaseAdapter {

30.   

31.  private Context context;

32.   

33.  public GridViewAdapter(Context context) {

34.  this.context = context;

35.  }

36.   

37.  int count = 100;

38.   

39.  @Override

40.  publicint getCount() {

41.  return count;

42.  }

43.   

44.  @Override

45.  public Object getItem(int position) {

46.  return position;

47.  }

48.   

49.  @Override

50.  publiclong getItemId(int position) {

51.  return position;

52.  }

53.   

54.  @Override

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

56.  TextView result = new TextView(context);

57.  result.setText("Item "+position);

58.  result.setTextColor(Color.BLACK);

59.  result.setTextSize(24);

60.  result.setLayoutParams(new AbsListView.LayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)));

61.  result.setGravity(Gravity.CENTER);

62.  result.setBackgroundColor(Color.WHITE); //设置背景颜色

63.  return result;

64.  }

65.   

66.  }

67.  }

[java] view plaincopyprint?

1.      package dyingbleed.iteye;  

2.        

3.      import android.app.Activity;  

4.      import android.content.Context;  

5.      import android.graphics.Color;  

6.      import android.os.Bundle;  

7.      import android.view.Gravity;  

8.      import android.view.View;  

9.      import android.view.ViewGroup;  

10.  import android.view.ViewGroup.LayoutParams;  

11.  import android.widget.AbsListView;  

12.  import android.widget.BaseAdapter;  

13.  import android.widget.GridView;  

14.  import android.widget.TextView;  

15.    

16.  public class Main extends Activity {  

17.        

18.      private GridView grid;  

19.        

20.      @Override  

21.      public void onCreate(Bundle savedInstanceState) {  

22.          super.onCreate(savedInstanceState);  

23.          setContentView(R.layout.main);  

24.            

25.          grid = (GridView) findViewById(R.id.main_GridView);  

26.          grid.setAdapter(new GridViewAdapter(this));  

27.      }  

28.        

29.      private class GridViewAdapter extends BaseAdapter {  

30.            

31.          private Context context;  

32.            

33.          public GridViewAdapter(Context context) {  

34.              this.context = context;  

35.          }  

36.            

37.          int count = 100;  

38.    

39.          @Override  

40.          public int getCount() {  

41.              return count;  

42.          }  

43.    

44.          @Override  

45.          public Object getItem(int position) {  

46.              return position;  

47.          }  

48.    

49.          @Override  

50.          public long getItemId(int position) {  

51.              return position;  

52.          }  

53.    

54.          @Override  

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

56.              TextView result = new TextView(context);  

57.              result.setText("Item "+position);  

58.              result.setTextColor(Color.BLACK);  

59.              result.setTextSize(24);  

60.              result.setLayoutParams(new AbsListView.LayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)));  

61.              result.setGravity(Gravity.CENTER);  

62.              result.setBackgroundColor(Color.WHITE); //设置背景颜色  

63.              return result;  

64.          }  

65.            

66.      }  

67.  }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值