网格布局+滚动视图

2024-04-04

我想创建一个像 Android 市场首页一样的布局。 我正在尝试使用网格布局,因为我想放置不同大小和位置的图像视图,我还需要输入滚动视图。

实际上我的问题是如何在 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最终开始互相覆盖。


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

<?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更改为固定值即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网格布局+滚动视图 的相关文章

  • 在我的 Android 应用程序中使用 ServerValue.TIMESTAMP

    我读过很多相关的 stackoverflow 问题 ServerValue TIMESTAMP 但我不知道如何在我的应用程序中使用它 我需要获取帖子创建的时间戳 时间戳应该添加到与帖子的 uid 作者等相同的位置 代码片段其中写这篇文章Fi
  • 我在哪里可以获得可靠的熵来源(真正的随机性字节[])?

    目前 我正在寻找一种方法来增加随机性的质量 in my Android应用程序 纸牌游戏 之前 估计对于我的情况 52 排列 至少需要 226 位熵 226 个随机位 我打算用这个byte 作为种子SecureRandom SecureRa
  • 使用一个 apk 安装两个应用程序

    我有 2 个应用程序 1 内容提供者 2 使用此 ContentProvider 的应用程序 我需要使用单个 apk 文件安装这 2 个应用程序 我想在 Eclipse 中同时推送这两个应用程序 如果我将另一个项目添加到一个应用程序的构建路
  • 需要使用手机后退按钮返回 Web 视图的帮助

    这是我的代码 package com testappmobile import android app Activity import android os Bundle import android view KeyEvent impor
  • Android:我可以创建一个不是矩形的视图/画布吗?圆形的?

    我有一个圆形视图 悬停在主要内容上方 gt 从屏幕出来的 z 轴方向 当有人点击屏幕时 我希望选择主要内容或悬停在上方的视图 当它覆盖主视图时 到目前为止效果很好 我在透明画布上有一个圆形物品 这意味着您可以看到该圆圈之外的背景的所有内容
  • onScale 事件后触发奇怪的 onScroll 事件

    我有一个同时使用 SimpleOnScaleGestureListener 和 SimpleOnGestureListener 的应用程序 每当我进行捏缩放时 我都会得到预期的 onScale 但是当我抬起时 我会看到一个奇怪的 onScr
  • 不变违规:requireNativeComponent:在 UIManager 中找不到“RNSVGSvgViewAndroid”

    我对标题中提到的错误感到头疼 我正在使用react native gifted charts https www npmjs com package react native gifted charts v 1 0 3 https www
  • 使用 HttpUrlConnection Android 将 base64 编码的图像发送到服务器

    我正在尝试使用 HttpUrlConnection 将 base64 编码的图像发送到服务器 我遇到的问题是大多数图像均已成功发送 但有些图像会生成 FileNotFound 异常 我的图像编码代码可以在下面找到 public static
  • 如何向开发人员发送崩溃报告?

    我开发 Android 应用程序 但在某些情况下我的应用程序force close 如果出现以下情况 我如何向开发人员发送包含详细信息的电子邮件force close随时发生 The ACRA https github com ACRA a
  • Android中如何检测WIFI连接何时建立?

    我需要检测何时通过 WIFI 建立网络连接 发送什么广播来确定已建立有效的网络连接 我需要验证是否存在有效的 HTTP 网络连接 我应该监听什么以及需要进行哪些额外测试才能知道是否存在有效连接 您可以注册一个BroadcastReceive
  • Android Fragment onCreateView 与手势

    我正在尝试在片段中使用手势 我在 FragmentActivity 中有以下内容来处理我的详细信息片段 我试图发生的情况是 当在视图上检测到滑动时 将该视图内的数据替换为上一个或下一个条目 如果有更好的方法来处理这个问题 我完全同意 然而
  • 在选项卡上保存数据

    我有 3 个选项卡 每个选项卡都有一个单独的活动 我想在用户单击任一选项卡上的 保存 时保存数据 有几个选项可供选择 共享首选项 全局变量或将对象保存在上下文中 编辑 我必须保存图像和文本字段 Android 共享首选项 https sta
  • 如何制作在手机和平​​板电脑上使用的响应式Android应用程序?

    我创建了一个 Android 应用程序 当我运行我的应用程序时Mobile Phone它工作得很好 但是当我跑进去时Tablet应用程序的布局已更改 那么 如何制作响应式Android应用程序用于Mobile并且也在Tablet 在Andr
  • android中listview显示数据库中的数据

    我是安卓新手 我想知道如何在列表视图中显示数据库中的数据 它不会向数据库添加数据 我只是显示我们存储在数据库中的任何内容 请帮助我实现这一目标 提前致谢 使用这些课程可能会对您有所帮助 用于数据库创建 package com example
  • 如何使用应用程序接口将蓝牙套接字传递给另一个活动

    因此 根据我收集的信息 套接字连接既不可序列化 也不可分割 但我需要将蓝牙连接传递给另一个活动 我不想作为中间人编写服务 所以请不要将此作为解决方案发布 我听说有一种方法可以使用自定义应用程序接口来传递这些类型的对象 但我一生都找不到这样的
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • android textview 有字符限制吗?

    我正在尝试在 android TextView 中输入超过 2000 3000 个字符 它不显示任何内容 任何一份指南是否对 android textview 有字符限制或什么 我在G3中做了一些小测试 我发现 如果activtiy布局中有
  • Android AdMob:addView 在返回活动之前不会显示广告

    我正在尝试在游戏顶部添加横幅广告 我的活动使用带有自定义 SurfaceView 的relativelayout 我希望广告与 SurfaceView 重叠 广告会加载并可点击 但不会绘制到屏幕上 当我离开活动并返回时 会绘制广告 例如 通
  • 在 Android 手机中通过耳机插孔发送数据

    我目前正在处理一个新项目 我必须通过具有特定电压的耳机插孔发送数据 然后我可以在该电压上工作 所以这里我需要根据我的数据来编程具体电压 我是否可以在android中访问耳机的输出电压 然后创建一个应用程序来控制该电压 这是一篇讨论此问题的
  • 如何正确编写AttributeSet的XML?

    我想创建一个面板适用于 Android 平台的其他小部件 http code google com p android misc widgets 在运行时 XmlPullParser parser getResources getXml R

随机推荐