我尝试过使用ImageVIEw类的setLayoutParams和setScaleType方法但是无法实现所需的效果.这就是我所拥有的,但我正在尝试只有一个3×3网格的小图标,直到我掌握它.
主要活力:
package com.topherwilso.ropasci;import androID.os.Bundle;import androID.app.Activity;import androID.vIEw.Menu;import androID.Widget.GrIDVIEw;public class MainActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); GrIDVIEw gv = (GrIDVIEw) findVIEwByID(R.ID.grIDvIEw); gv.setAdapter(new ImageAdapter(getApplicationContext())); } @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main,menu); return true; }}
我的ImageAdapter类:
package com.topherwilso.ropasci;import androID.content.Context;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.BaseAdapter;import androID.Widget.GrIDVIEw;import androID.Widget.ImageVIEw;import androID.Widget.ImageVIEw.ScaleType;public class ImageAdapter extends BaseAdapter { int[] images = { R.drawable.one,R.drawable.two,R.drawable.three,R.drawable.four,R.drawable.five,R.drawable.six,R.drawable.seven,R.drawable.eight,R.drawable.nine }; private Context context; public ImageAdapter(Context applicationContext){ context=applicationContext; } @OverrIDe public int getCount() { //Number of data elements to be displayed return images.length; } @OverrIDe public Object getItem(int position) { // Todo auto-generated method stub return null; } @OverrIDe public long getItemID(int position) { // Todo auto-generated method stub return 0; } @OverrIDe public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) { ImageVIEw iv; if(convertVIEw != null){ iv = (ImageVIEw) convertVIEw; } else{ iv = new ImageVIEw(context); iv.setLayoutParams(new GrIDVIEw.LayoutParams(120,120)); iv.setScaleType(ScaleType.CENTER); iv.setpadding(0,0); } iv.setimageResource(images[position]); return iv; }}
这就是现在的样子,
这就是我想要的,
解决方法 试试下面的内容<?xml version="1.0" enCoding="utf-8"?><GrIDVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:ID="@+ID/grIDvIEw"androID:padding="40dp"androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent"androID:columnWIDth="0dp"androID:numColumns="3" // set the number of columns to 3androID:verticalSpacing="20dp"androID:horizontalSpacing="20dp" androID:gravity="center"/>
http://developer.android.com/guide/topics/ui/layout/gridview.html
http://developer.android.com/reference/android/widget/GridView.html
无法指定行数.如果上述方法不起作用,您可以使用tableLayout而不是grIDvIEw.在您的情况下,您有9个图标,因此将列号设置为3应该可行.
对于tableLayout
http://developer.android.com/reference/android/widget/TableLayout.html
@H_403_49@ 总结以上是内存溢出为你收集整理的android – 使用带有GridView的ImageView设置行和列中显示的图像数全部内容,希望文章能够帮你解决android – 使用带有GridView的ImageView设置行和列中显示的图像数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)