<p>先贴布局:就放了一个GridView</p><pre class="brush:xml;toolbar:false">&lt;?xmlversion=&quot;1.0&quot;encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayoutxmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; xmlns:tools=&quot;http://schemas.android.com/tools&quot; android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;match_parent&quot; tools:context=&quot;custom.community.com.generic_deom.MainActivity&quot;&gt; &lt;GridView android:id=&quot;@+id/gridview&quot; android:layout_width=&quot;fill_parent&quot; android:layout_height=&quot;wrap_content&quot; android:listSelector=&quot;@null&quot; android:horizontalSpacing=&quot;0.5dp&quot; android:verticalSpacing=&quot;0.5dp&quot; android:background=&quot;#c9c9c9&quot; android:numColumns=&quot;3&quot; android:scrollbars=&quot;none&quot; android:stretchMode=&quot;columnWidth&quot; /&gt; &lt;/LinearLayout&gt;</pre><p>代码:</p><pre class="brush:java;toolbar:false">publicclassMainActivityextendsAppCompatActivity{ privateGridViewgridview; GridViewSimmyGridView; LayoutInflaterinflater; //定义两个数组,放图片和文字 privateStringtext[]={&quot;text1&quot;,&quot;text2&quot;,&quot;text3&quot;,&quot;text4&quot;,&quot;text5&quot;,&quot;text6&quot;,&quot;text7&quot;,&quot;text8&quot;,&quot;text9&quot;}; privateintimg_grid[]={R.drawable.a,R.drawable.b,R.drawable.c, R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h,R.drawable.i}; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridview=(GridView)findViewById(R.id.gridview); myGridView=newGridViewSim(this,text,img_grid); gridview.setAdapter(myGridView); inflater=LayoutInflater.from(this); } classGridViewSimextendsBaseAdapter{ privateContextcontext=null; privateStringdata[]=null; privateintimgId[]=null; privateclassHolder{ ImageViewitem_img; TextViewitem_tex; publicImageViewgetItem_img(){ returnitem_img; } publicvoidsetItem_img(ImageViewitem_img){ this.item_img=item_img; } publicTextViewgetItem_tex(){ returnitem_tex; } publicvoidsetItem_tex(TextViewitem_tex){ this.item_tex=item_tex; } } //构造方法 publicGridViewSim(Contextcontext,String[]data,int[]imgId){ this.context=context; this.data=data; this.imgId=imgId; } @Override publicintgetCount(){ returndata.length; } @Override publicObjectgetItem(intposition){ returnposition; } @Override publiclonggetItemId(intposition){ returnposition; } @Override publicViewgetView(intposition,Viewview,ViewGroupviewGroup){ Holderholder; if(view==null){ view=inflater.inflate(R.layout.item_listview,null); holder=newHolder(); holder.item_img=(ImageView)view.findViewById(R.id.item_img); holder.item_tex=(TextView)view.findViewById(R.id.item_text); view.setTag(holder); }else{ holder=(Holder)view.getTag(); } holder.item_tex.setText(data[position]); holder.item_img.setImageResource(imgId[position]); returnview; } }</pre><p>另外是item的布局</p><pre class="brush:xml;toolbar:false">&lt;?xmlversion=&quot;1.0&quot;encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayoutxmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:orientation=&quot;vertical&quot; android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;match_parent&quot; android:background=&quot;#ffffff&quot; android:gravity=&quot;center&quot; android:padding=&quot;4dp&quot; &gt; &lt;ImageView android:id=&quot;@+id/item_img&quot; android:layout_width=&quot;64dp&quot; android:layout_height=&quot;64dp&quot; /&gt; &lt;TextView android:id=&quot;@+id/item_text&quot; android:layout_width=&quot;wrap_content&quot; android:layout_height=&quot;wrap_content&quot; /&gt; &lt;/LinearLayout&gt;</pre><p>如果要限制GridView滑动,可以自定义一个Gridview重写dispatchTouchEvent方法</p><pre class="brush:java;toolbar:false">*/ publicclassMyGridviewextendsGridView{ publicMyGridview(Contextcontext,AttributeSetattrs){ super(context,attrs); } publicMyGridview(Contextcontext){ super(context); } publicMyGridview(Contextcontext,AttributeSetattrs,intdefStyleAttr){ super(context,attrs,defStyleAttr); } //通过重写dispatchTouchEvent方法来禁止滑动 @Override publicbooleandispatchTouchEvent(MotionEventev){ if(ev.getAction()==MotionEvent.ACTION_MOVE){ returntrue;//禁止Gridview进行滑动 } returnsuper.dispatchTouchEvent(ev); } }</pre><p>ps:在xml布局中引用时记得写上自己的定义的gridview全路径名称</p>
T:0.007385s,M:252.06 KB
返回顶部 留言