• 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>
  • 相关阅读:
    Ant编译android程序
    android系统短信库的一些用法
    Android APK 签名机制
    android调用照相机拍照获取照片并做简单剪裁
    调用Android系统“应用程序信息(Application Info)”界面
    Speex manul中文版
    Android amr语音编解码解惑
    android Notification 的使用
    ContentProvider和Uri详解
    深入理解SetUID
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_selector_150313172.html
Copyright © 2020-2023  润新知