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>

 

转载于:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_selector_150313172.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值