Android GridView去除自带边框点击效果、去除右侧滚动条、禁止上下滑动

一、去除自带边框点击效果:

 1 <com.example.gridview.MyGridView
 2             android:id="@+id/grid_upload_pictures"
 3             android:layout_width="0dp"
 4             android:layout_weight="2"
 5             android:paddingLeft="20dp"
 6             android:listSelector="@android:color/transparent"
 7             android:layout_height="wrap_content"
 8             android:horizontalSpacing="10dp"
 9             android:verticalSpacing="10dp"
10             android:numColumns="1"
11             android:stretchMode="columnWidth"/>

 

二、去除右侧滚动条

 1 package com.example.gridview;
 2 
 3 import android.content.Context;
 4 import android.util.AttributeSet;
 5 
 6 public class MyGridView extends android.widget.GridView {
 7     public MyGridView(Context context, AttributeSet attrs) {
 8         super(context, attrs);
 9     }
10 
11     public MyGridView(Context context) {
12         super(context);
13     }
14 
15     public MyGridView(Context context, AttributeSet attrs, int defStyle) {
16         super(context, attrs, defStyle);
17     }
18     //重写了GridView的onMeasure方法,使其不会出现滚动条
19     @Override
20     public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
21         int expandSpec = MeasureSpec.makeMeasureSpec(
22                 Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
23         super.onMeasure(widthMeasureSpec, expandSpec);
24     }
25 }

 

 

三、禁止上下滑动

 1 package com.example.gridview;
 2 
 3 import android.content.Context;
 4 import android.util.AttributeSet;
 5 
 6 public class MyGridView2 extends android.widget.GridView{  
 7   
 8     public HotKeyGridView(Context context, AttributeSet attrs, int defStyle) {  
 9         super(context, attrs, defStyle);  
10     }  
11   
12     public HotKeyGridView(Context context, AttributeSet attrs) {  
13         super(context, attrs);  
14     }  
15   
16     public HotKeyGridView(Context context) {  
17         super(context);  
18     }  
19   
20   
21     public boolean dispatchTouchEvent(MotionEvent ev) {  
22         if(ev.getAction() == MotionEvent.ACTION_MOVE){  
23             return true;//禁止Gridview进行滑动  
24         }  
25         return super.dispatchTouchEvent(ev);  
26     }  
27 }  

 

 

感谢:

http://blog.csdn.net/super11235/article/details/55050141

http://blog.csdn.net/go_to_learn/article/details/17761735

posted @ 2018-01-18 14:32  夜的那种黑丶  阅读(852)  评论(0编辑  收藏  举报