我有一个Gridview
,其中有很多我从url
获得的图片。我已将所有这些内容添加到Arraylist
并将Arraylist
设置为Gridview
。我用过
grid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//my code here
}
所以,现在当我点击GridView
项时,我会在每个网格项周围找到一个边框。我可以改变边框的颜色吗?
答案 0 :(得分:3)
看一下这个例子
RES /抽拉/ border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke android:width="2dp" android:color="@color/green"/>
<solid android:color="@android:color/transparent"/>
RES /抽拉/ grid_item_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/border" />
<item android:drawable="@android:color/transparent"/>
</selector>
现在在gridview中使用属性android:listSelector="@drawable/grid_item_selector"
在main.xml中
<GridView android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:horizontalSpacing="-1px"
android:verticalSpacing="-1px"
android:drawSelectorOnTop="true"
android:listSelector="@drawable/grid_item_selector"/>
答案 1 :(得分:1)
是的,你可以。在网格项的布局中,您可以将背景可绘制为选择器。 http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList您可以将项目的每个状态(按下,聚焦,默认等)设置为与您想要的任何颜色(或可绘制)相对应。最简单的方法是将边框设置为自定义绘图。一个Shape或一个9-patch。