【问题标题】:GridView, match_parent is not working in child view [duplicate]GridView,match_parent 在子视图中不起作用[重复]
【发布时间】:2015-12-06 01:01:49
【问题描述】:

问题图片:http://i.imgur.com/pYLFMnO.png

我有一个网格视图,其中有我的HomeViewShortcutItemViews。

在我的HomeViewShortcutItemView onMeasure 中,我将其设为正方形:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    int width = getMeasuredWidth();
    setMeasuredDimension(width, width); /* make grid item square */
}

在我的这个视图的 xml 中,我将高度设置为 match_parent:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/wrapper"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/blue"
    >
...
</RelativeLayout>

但是它在网格视图项中呈现它的wrap_content 高度,因为 onMeasure 不会影响它的子视图,而是让它按照我的意愿变成正方形。

我怎样才能实现我想要的?

顺便说一下,这里是 GridView Xml:

<pe.kor.browser.Ui.TabView.HomeView.StaticGridView
      android:id="@+id/gridViewShortcuts"
      android:gravity="center"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:drawSelectorOnTop="false"
      android:listSelector="@drawable/view_home_shortcut_item_bg"
      android:stretchMode="columnWidth"
      android:verticalSpacing="4dp"
      android:horizontalSpacing="4dp"
 />

【问题讨论】:

    标签: android


    【解决方案1】:

    将网格视图中的高度更改为match-parent,它将填充您的包装器。就目前而言,它被设置为包装内容。

    看看这些问题:

    Making GridView items square
    How to force GridView to generate square cells in Android

    【讨论】:

    • 当我在 GridView 上尝试 match_parent 时,问题还是一样。但是您提供的第一个链接已解决。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多