网格布局+ ScrollView [英] Gridlayout + ScrollView

查看:104
本文介绍了网格布局+ ScrollView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个布局,例如android market的首页. 我想使用gridlayout,因为我想将imageview放置在不同的大小和位置,我还需要输入scrollview.

I want to create a layout like first page of android market. I am trying to use gridlayout as I would like to put imageview with different sizes and location, I also need to input scrollview.

实际上我的问题是如何在android.support.v7.widget.GridLayout中输入scrollview?

Actually my problem is how to input scrollview inside android.support.v7.widget.GridLayout?

我尝试过:

<?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res/com.astuetz.viewpager.extensions.example"
     android:id="@+id/scrollView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" >

<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:columnCount="10" >

    <ImageView
        android:id="@+id/ImageView1"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="1"
        android:src="@drawable/tab_background_focused" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_column="5"
        app:layout_gravity="bottom"
        app:layout_row="1"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <ImageView
        android:id="@+id/ImageView2"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="1"
        app:layout_columnSpan="3"
        app:layout_gravity="left"
        app:layout_row="2"
        android:src="@drawable/tab_background_focused" />

    <ImageView
        android:id="@+id/ImageView3"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="4"
        app:layout_rowSpan="2"
        android:src="@drawable/tab_background_focused" android:adjustViewBounds="true"/>

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="7"
        android:src="@drawable/background_dots" />


    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="9" android:adjustViewBounds="true" android:src="@drawable/tab_background"/>


    <ImageView
        android:id="@+id/imageView5"
        android:layout_width="130dp"
        android:layout_height="match_parent"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="9"
        android:adjustViewBounds="true" />

   <ImageView
        android:id="@+id/imageView6"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="9" android:adjustViewBounds="true"/>

      <ImageView
        android:id="@+id/imageView7"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:layout_column="2"
        app:layout_gravity="left"
        app:layout_row="2" /> 


    <android.support.v7.widget.Space
        android:id="@+id/space1"
        android:layout_width="145dp"
        android:layout_height="1dp"
        app:layout_column="0"
        app:layout_gravity="left"
        app:layout_row="0" />

    <android.support.v7.widget.Space
        android:layout_width="1dp"
        android:layout_height="21dp"
        app:layout_column="0"
        app:layout_row="0" />

    <android.support.v7.widget.Space
        android:id="@+id/space2"
        android:layout_width="1dp"
        android:layout_height="127dp"
        app:layout_column="0"
        app:layout_gravity="left"
        app:layout_row="1" />

    <android.support.v7.widget.Space
        android:id="@+id/space3"
        android:layout_width="10dp"
        android:layout_height="1dp"
        app:layout_column="0"
        app:layout_gravity="left"
        app:layout_row="0" />

    <android.support.v7.widget.Space
        android:id="@+id/space4"
        android:layout_width="1dp"
        android:layout_height="10dp"
        app:layout_column="0"
        app:layout_gravity="left"
        app:layout_row="1" />

    <android.support.v7.widget.Space
        android:id="@+id/space5"
        android:layout_width="44dp"
        android:layout_height="1dp"
        app:layout_column="3"
        app:layout_gravity="left"
        app:layout_row="0" />

    <android.support.v7.widget.Space
        android:layout_width="1dp"
        android:layout_height="58dp"
        app:layout_column="0"
        app:layout_row="5" />

    <android.support.v7.widget.Space
        android:layout_width="1dp"
        android:layout_height="10dp"
        app:layout_column="0"
        app:layout_row="3" />

    <android.support.v7.widget.Space
        android:id="@+id/space6"
        android:layout_width="1dp"
        android:layout_height="17dp"
        app:layout_column="0"
        app:layout_gravity="left"
        app:layout_row="6" />

    <android.support.v7.widget.Space
        android:id="@+id/space7"
        android:layout_width="238dp"
        android:layout_height="1dp"
        app:layout_column="4"
        app:layout_gravity="left"
        app:layout_row="0" />

    <android.support.v7.widget.Space
        android:id="@+id/space8"
        android:layout_width="1dp"
        android:layout_height="16dp"
        app:layout_column="0"
        app:layout_gravity="left"
        app:layout_row="8" />

    <android.support.v7.widget.Space
        android:layout_width="26dp"
        android:layout_height="1dp"
        app:layout_column="2"
        app:layout_row="0" />

</android.support.v7.widget.GridLayout>
</ScrollView>

在此代码中,imageview最后开始相互覆盖.

In this code, the imageview start to overwrite each other in the end.

推荐答案

我解决了这个问题,您需要保持线性布局结构,然后在其中添加gridlayout并设置layout_height ="the_value_you_need".像这样:

I solved this, you need to keep linear layout structure then add gridlayout inside this and set layout_height="the_value_you_need". Like this:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" xmlns:app="http://schemas.android.com/apk/res/com.astuetz.viewpager.extensions.example">




    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >



        <android.support.v7.widget.GridLayout
            android:layout_width="match_parent"
            android:layout_height="900dp" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="130dp"
                android:layout_height="130dp"
                app:layout_column="0"
                app:layout_columnSpan="2"
                app:layout_gravity="left"
                app:layout_row="0"
                app:layout_rowSpan="2"
                android:src="@drawable/tab_background_pressed" />

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="130dp"
                android:layout_height="130dp"
                app:layout_column="0"
                app:layout_gravity="right"
                app:layout_row="3"
                android:src="@drawable/tab_background_pressed" />

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="130dp"
                android:layout_height="130dp"
                app:layout_column="0"
                app:layout_gravity="left"
                app:layout_row="5"
                android:src="@drawable/tab_background_pressed" />

            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="130dp"
                android:layout_height="130dp"
                app:layout_column="0"
                app:layout_gravity="left"
                app:layout_row="7"
                android:src="@drawable/tab_background_pressed" />

            <ImageView
                android:id="@+id/imageView5"
                android:layout_width="130dp"
                android:layout_height="130dp"
                app:layout_column="0"
                app:layout_gravity="left"
                app:layout_row="7"
                android:src="@drawable/tab_background_pressed" />

            <android.support.v7.widget.Space
                android:layout_width="32dp"
                android:layout_height="1dp"
                app:layout_column="0"
                app:layout_row="0" />

            <android.support.v7.widget.Space
                android:id="@+id/space1"
                android:layout_width="1dp"
                android:layout_height="16dp"
                app:layout_column="0"
                app:layout_gravity="left"
                app:layout_row="2" />

            <android.support.v7.widget.Space
                android:id="@+id/space2"
                android:layout_width="1dp"
                android:layout_height="16dp"
                app:layout_column="0"
                app:layout_gravity="left"
                app:layout_row="4" />

            <android.support.v7.widget.Space
                android:id="@+id/space3"
                android:layout_width="1dp"
                android:layout_height="16dp"
                app:layout_column="0"
                app:layout_gravity="left"
                app:layout_row="6" />
        </android.support.v7.widget.GridLayout>

    </LinearLayout>


</ScrollView>

要进行水平滚动,只需将layout_widht更改为固定值即可.

To have horizontal scroll, just change layout_widht to a fixed value.

这篇关于网格布局+ ScrollView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆