大家都知道Android ListView设置分割线很简单,设置如下两个属性即可:
android:divider
android:dividerHeight
GirdView默认是没有网格线的,那么我们就啊哟自己设置了。
首先说下基本思路,就是利用设置垂直、横向间距,通过GridView和item的背景色来实现 。
说下核心属性
这个设置横竖的间距,根据你的需求改变它的大小
android:horizontalSpacing="1dp"
android:verticalSpacing="1dp"
下面给出itme的背景,由于要有按压效果或者是选择是的背景色改变,这里给出selector具体操作看需求了
bg_gv_one_selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_checkable="true" >
<shape android:shape="rectangle">
<solid
android:color="#BBBBBB"
/>
</shape>
</item>
<item
android:state_pressed="true" >
<shape android:shape="rectangle">
<solid
android:color="#CCCCCC"
/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid
android:color="#FFFFFF"
/>
</shape>
</item>
</selector>
好了给出item的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_gv_one_selector"
android:padding="@dimen/dip_10"
android:gravity="center">
<ImageView
android:id="@+id/img_view"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/img_moneydetail"/>
<TextView
android:visibility="invisible"
android:id="@+id/text_context"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dip_6"
style="@style/TextStyle30px"
android:text="资金明细"/>
</LinearLayout>
然后给出gridview
<com.yundong.gongchengji.views.NoMoveGridView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorHui"
android:horizontalSpacing="1dp"
android:verticalSpacing="1dp"
android:numColumns="3"
android:scrollbars="none"
android:id="@+id/gridview_account"></com.yundong.gongchengji.views.NoMoveGridView>
基本思路如上