gridview组织了像instagram这样的项目

时间:2015-12-04 19:43:48

标签: android gridview instagram

我在Android应用程序中徘徊是我在网格视图中从parse.com获取我的照片, 一切运作良好,我的图像显示,但不是我想要的外观。 my result

这就是我想要它的样子 instagram look

这是我网格的代码:

<GridView 
    android:id="@+id/gridview"
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:numColumns="3"
    android:horizontalSpacing="1dp"
    android:verticalSpacing="1dp"
    android:layout_below="@+id/header_shadow"
    android:listSelector="#00FFFFFF"/>

这是我的项目:

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/photo"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:scaleType="fitXY"/>

图片以方形尺寸保存,缩略图以200x200显示

2 个答案:

答案 0 :(得分:3)

尝试使用wrap_content或imageview中的实际图像尺寸,而不是match_parent和scaleType of center。 fitXY允许您的图像缩放,而不是保持其宽高比。

请参阅http://www.techrepublic.com/article/clear-up-ambiguity-about-android-image-view-scale-types-with-this-guide/

此指南还有很多关于不同适合类型的详细信息

http://www.peachpit.com/articles/article.aspx?p=1846580&seqNum=2

答案 1 :(得分:0)

在您的布局中添加此内容。它应该解决你的问题:

public class SquareImageView extends AppCompatImageView {
    public SquareImageView(Context context) {
        super(context);
    }

    public SquareImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public SquareImageView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, widthMeasureSpec);
    }
}