【问题标题】:Aligning and Scaling Images in a GridView在 GridView 中对齐和缩放图像
【发布时间】:2014-12-14 06:29:45
【问题描述】:

我有一个 GridView,我将 ImageViews 添加到其中并随机将 drawables 作为资源以生成如下图所示的网格。

我希望图像可以缩放,以便它们之间的唯一间隙是填充,并且我还想匹配它在列之间放置的间距,对于行,以便 gridView 始终是适合的正方形到屏幕的宽度(加上边距)。图像之间的最小间隙将是我设置的填充,因此如果屏幕大或小,图像将放大或缩小以适应网格视图的宽度。

那我该怎么做呢?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF" >

<GridView
    android:id="@+id/grid"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_centerInParent="true" 
    android:layout_marginTop="50dp"
    android:columnWidth= "50dp"
    android:stretchMode="spacingWidthUniform"
    android:gravity="center"
    android:clickable="true">

</GridView>

 public View getView(int position, View convertView, ViewGroup parent) {

            if (convertView == null) {
            randomPosition = rng.nextInt(gridSize);
            imageView = new ImageView(mContext);
            imageView.setPadding(2, 2, 2, 2);
            } 
            else {
                imageView = (ImageView) convertView;
            }

            imgSet();
            return imageView;
    }

    public void imgSet(){
        if (diff == 1){
            imageView.setImageResource(mThumbIds[randomPosition]);
        }
        if (diff == 2){
            imageView.setImageResource(mThumbIds2[randomPosition]);
        }
        if (diff == 3){
            imageView.setImageResource(mThumbIds3[randomPosition]);
        }
    }

【问题讨论】:

    标签: android gridview


    【解决方案1】:

    如果图像缩放是您的问题,您可以尝试缩放图像以适合 imageView 并将它们放在网格上..

    试试 android:scaleType="fitXY"

    也可以根据您的需要尝试 scaleType 中的其他选项

    【讨论】:

    • 有没有办法让网格的高度和宽度相匹配?
    • 我还需要在创建图像视图的代码中而不是在 xml 中设置比例类型,所以我不确定如何设置比例类型,我看到我想要的类型适合中心
    • @MDubzem 如果您需要通过代码设置它,请使用 yourimageview.setScaleType(ScaleType.FIT_XY); [这里是开发链接]developer.android.com/reference/android/widget/…)
    猜你喜欢
    • 2011-05-08
    • 1970-01-01
    • 2013-01-07
    • 2011-03-21
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多