GridView大于预期

时间:2018-12-10 14:03:27

标签: java android android-layout

我无法确定为什么GridView略大于预期。如此处所示:Picture of problem,GridView遍历屏幕并获得滚动条。但是,即使我限制了GridView的大小,它仍然会超过其垂直界限并在其自身上创建一个滚动器。

如何使GridView停留在指定空间内并且不创建滚动条?我认为它具有水平和垂直空间的权重,我认为水平可以完美地工作。但是我不太确定垂直方向。

此代码在扩展BaseAdapter的自定义适配器中。将图像放置在fragment_grid中,然后将其放置在activity_board的FrameLayout中。

  @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);
        imageView.setImageResource(waterImage);
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

        return imageView;
    }

fragment_grid.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="1dp"
android:verticalSpacing="1dp"
android:numColumns="8"
tools:context=".GridFragment" >
</GridView>

activity_board.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/time_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="@string/invite_friend"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="8">

        <FrameLayout
            android:id="@+id/fragment_container_player"
            android:layout_width="0dp"
            android:layout_weight="8"
            android:layout_height="match_parent" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:layout_weight="2">
        </LinearLayout>

        <FrameLayout
            android:id="@+id/fragment_container_opponent"
            android:layout_width="0dp"
            android:layout_weight="8"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>

0 个答案:

没有答案