gridview-selector的设置

其实它是跟listview相似的,如果你看下它跟listview的继承关系,就很容易理解了

public class GridView extends AbsListView {
    /**
     * Disables stretching.
     *
     * @see #setStretchMode(int)
     */
    public static final int NO_STRETCH = 0;
    /**
     * Stretches the spacing between columns.
     *
     * @see #setStretchMode(int)
     */
    public static final int STRETCH_SPACING = 1;
    /**
     * Stretches columns.
     *
     * @see #setStretchMode(int)
     */
    public static final int STRETCH_COLUMN_WIDTH = 2;
    /**
     * Stretches the spacing between columns. The spacing is uniform.
     *
     * @see #setStretchMode(int)
     */
    public static final int STRETCH_SPACING_UNIFORM = 3; 

}

而且,它里面并没有selector的方法,那我们继续看AbListView这个类

public abstract class AbsListView extends AdapterView<ListAdapter> implements TextWatcher,
        ViewTreeObserver.OnGlobalLayoutListener, Filter.FilterListener,
        ViewTreeObserver.OnTouchModeChangeListener,
        RemoteViewsAdapter.RemoteAdapterConnectionCallback {

 public void setSelector(int resID) {
        setSelector(getResources().getDrawable(resID));
    }  

    public void setSelector(Drawable sel) {
        if (mSelector != null) {
            mSelector.setCallback(null);
            unscheduleDrawable(mSelector);
        }
        mSelector = sel;
        Rect padding = new Rect();
        sel.getPadding(padding);
        mSelectionLeftPadding = padding.left;
        mSelectionTopPadding = padding.top;
        mSelectionRightPadding = padding.right;
        mSelectionBottomPadding = padding.bottom;
        sel.setCallback(this);
        updateSelectorState();
    }  

}

可以看到它里面是有这个方法的。

在xml中设定的方法如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll_share_flipper"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <GridView
        android:id="@+id/gv_share_gridview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:hapticFeedbackEnabled="true"
<!--跟listview的使用方法一样-->        android:listSelector="@drawable/gridview_selector"
        android:numColumns="4"
        android:scrollbars="none"
        android:stretchMode="columnWidth" >
    </GridView>

</LinearLayout>
时间: 2024-11-10 17:38:45

gridview-selector的设置的相关文章

GridView中超链接设置

<%# Eval("id") %>Bind方式    <%# Bind("id","~/info.aspx?id={0}") %> 推荐使用第一种方式,可以在一个<%# %>里放入多个绑定,而第二种只能如此绑定一个值<%# Eval("id") + ":" + Eval("name")%> 做超级链接的控件,我们也有多种选择:1 asp:L

Gridview表格边框设置

GridView在生成HTML代码的时候会自动加上style="border-collapse:collapse;"以及border=1,rules="all"这些属性,这些在IE下都没什么影响,但是在FF下就会影响显示,style="border-collapse:collapse;":是由于设置了CellSpacing="0"产生的,当设置CellSpacing="1"后就没有,可以去掉style=&q

GridView网格线都设置

如今,做网上商店的商品陈列,我想用网络格布局,但总认为空好看.所以我想给它一个净加格线.但是,我遇到了一个问题,网络格布局其实很easy,是集GridView布局和背景颜色adapter布局设置背景颜色参考. 我的设置,如以下: 1 2 3 4 5 6 7 8 9 <GridView android:id="@+id/gv_group" android:layout_width="match_parent" android:layout_height=&quo

DevExpress GridView 添加和设置右键菜单

右键菜单肯定是GridView中经常要使用的一个功能.本文主要描述三个方面:1.如何在GridView中添加右键菜单2.如何设置菜单是否可用(enable) 3.如何获取右键点击事件 一.添加右键菜单1.在VS工具箱中的"菜单和工具栏"找到ContextMenuStrip控件,双击添加. 2.点击ContextMenuStrip右上方的小三角形,打开编辑项,可以添加菜单项. 3.选择gridControl(注意这里不是gridView的属性),在属性中可以找到ContextMenuSt

通过Selector来设置按钮enable/unable状态的样式

我们可以用selector来配置button可用或者不可用时的背景,也可以用它来配置button不同状态下的文字颜色.下面左图是可用状态,右图是不可用状态.    一.配置按钮不同状态的背景 首先我们准备下按钮的背景,这里是shape来做的.分为可用和不可用的背景,有蓝色(可用状态)和红色(不可用状态)两个背景. btn_enabled_shape.xml <?xml version="1.0" encoding="utf-8"?> <shape

代码设置Shape和Selector

开发中经常需要使用Shape和Selector,如果每个都用xml设置的话,会占用apk大小,同时命名多了也会混乱,使用代码来设置会方便很多. 需要用到2个类:GradientDrawable和StateListDrawable 相关API: setColor(rgb); //填充颜色setGradientType(GradientDrawable.RECTANGLE); //shape矩形setCornerRadius(radius); //四周圆角半径setStroke(1,strokenC

android selector设置button点击效果(详细)以及常见问题

button的点击效果学习起来事实上比较容易,此点对开发者来说也是使用的比较频繁的一个知识点,与它相关的还有编辑框的获取焦点时改变背景颜色.选择button选择时改变字体颜色等等.这些其实都是用到的drawable的seletor. 当然drawable中还有很多其他效果可以实现,具体的可以参考笔者的另一篇博客: android修改控件外观(使用drawable资源) 效果:(不点击时显示白色,点击时显示灰色) 实现这个效果其实很简单,在drawable中创建一个xml文件,然后输入两行代码即可

android RadioGroup中设置selector后出现多个别选中的RadioButton的解决办法

在一个RadioGroup组中假如有三个或者以上的RadioButton,当然你需要给这些RadioButton设置selector.设置其中的一个为默认选中状态(在xml中设置).当程序在手机上运行时你会发现,那个设置默认选中的RadioButton总是被选中的. 那么怎样解决它呢? 办法:既然在xml设置默认选中状态的方法行不通,那么我们就换一种思路,在代码中动态的设置RadioButton的checked属性.这就是问题的解决办法,就是这么的简单.愿意暂时不详.(不过这个结论我已经证实了,

JAVA代码设置selector不同状态下的背景颜色

代码实现Shape 代码实现Selector StateListDrawable与GradientDrawable 的运用 在Android开发中,我们时常会用到自定义drawable样式,在drawable中设置shape样式或是selector选择器,但是有时如果一个xml中需要用到多个drawable样式,并且里面设置的样式只是有细微的差别改变,那么自定义多个drawable样式会显得比较臃肿,使得drawable的xml文件太多,管理麻烦,所以有时本星觉得可以在代码中创建drawable

gridView,网格

Unfortunately, after looking at the source code, I could not see any easy way to add borders other than taking the approach of adding borders to the each cell. As a reference, I will post my solution here. list_item.xml <?xml version="1.0" en