android – 使用带有GridView的ImageView设置行和列中显示的图像数

android – 使用带有GridView的ImageView设置行和列中显示的图像数,第1张

概述我想使用 ImageView类在GridView布局中布局一个8×8网格图像,实际上只是40x40px图标. 我尝试过使用ImageView类的setLayoutParams和setScaleType方法但是无法实现所需的效果.这就是我所拥有的,但我正在尝试只有一个3×3网格的小图标,直到我掌握它. 主要活力: package com.topherwilso.ropasci;import an 我想使用 ImageVIEw类在GrIDVIEw布局中布局一个8×8网格图像,实际上只是40x40px图标.

我尝试过使用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设置行和列中显示的图像数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1127443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存