项目点击监听器android的背景

时间:2011-12-05 13:52:04

标签: android

我有一个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项时,我会在每个网格项周围找到一个边框。我可以改变边框的颜色吗?

2 个答案:

答案 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。