Android - 包含 ExpandableListView 的 NestedScrollView 在展开时不会滚动

2024-02-18

我有一个ExpandableListView里面一个NestedScrollView(是的,我知道,在另一个滚动视图中拥有一个滚动视图并不好,但我不知道还能做什么,请告诉我是否有人知道更好的方法)。

内容的大小NestedScrollView仍在屏幕内,因此不会滚动,但是当ExpandableListView展开后,内容会泄漏到屏幕之外,但NestedScrollView仍然不会滚动..为什么会这样?

这是我的NestedScrollView布局 :

<NestedScrollView>
    <LinearLayout>
        <LinearLayout></LinearLayout>
        ... // About 3 of the LinearLayouts
        <ExpandableListView/>
    </LinearLayout>
</NestedScrollView>

您可以使用NonScrollExpandableListView你可以实现任何的非滚动属性Lisview or GridView or ExpandableListView通过重写以下方法。

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int heightMeasureSpec_custom = MeasureSpec.makeMeasureSpec(
            Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightMeasureSpec_custom);
    ViewGroup.LayoutParams params = getLayoutParams();
    params.height = getMeasuredHeight();
} 

所以对于使用NonScrollExpandableListView您需要创建一个自定义类。

public class NonScrollExpandableListView extends ExpandableListView {

    public NonScrollExpandableListView(Context context) {
        super(context);
    }

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

    public NonScrollExpandableListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int heightMeasureSpec_custom = MeasureSpec.makeMeasureSpec(
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec_custom);
        ViewGroup.LayoutParams params = getLayoutParams();
        params.height = getMeasuredHeight();
    }
}

并像这样使用它。

<com.example.extraclasses.NonScrollExpandableListView 

    android:layout_width="match_parent"
    android:layout_height="wrap_content" /> 

快乐编码。

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

Android - 包含 ExpandableListView 的 NestedScrollView 在展开时不会滚动 的相关文章

随机推荐

  • 需要 Android 活动等待获取 GPS 位置

    对不起我的英语不好 我正在尝试从 GPS 获取单个位置以添加全局变量纬度 经度 GPS 打开 但在从 GPS 检索数据之前活动仍在继续 换句话说 我的需求 仅当找到位置并且填充了经度和纬度变量时 方法 getCurrentLocation
  • 您可以通过在表中指定数据库名称来 DROP TABLE IF EXISTS 吗?

    我正在尝试使用以下查询语句删除数据库中的表 mysql query DROP TABLE IF EXISTS dbName tableName or die mysql error 但我不断收到错误 有谁知道指定 dbName tableN
  • gdb 中漂亮的打印 Fortran 动态类型

    在 gdb 中打印 Fortran 可分配多态变量的值是非常痛苦的 给出下面的程序 为了看到alloc ext 我必须执行以下操作 gdb p alloc ext 1 data 0x606260 vptr 0x400ce0 lt foo M
  • 跨浏览器 JavaScript 输入实时更改/粘贴检测

    有没有跨浏览器方式检测输入字段的实时更改 By live 我的意思是当字段失去焦点时 而不是在下一个按键时 等等 立即或类似的事情 使用 jQuery 和 change keyup bind paste 等等我可以开始实时变化检测一些浏览器
  • 如何列出iOS中uiviewcontroller中的所有子视图?

    我想列出一个中的所有子视图UIViewController 我试过self view subviews 但并没有列出所有的子视图 例如UITableViewCell没有找到 任何想法 您必须递归迭代子视图 void listSubviews
  • Ruby 参数签名中的尾随逗号

    我很好奇 Ruby 中的块中是否有尾随逗号 例如 1 2 3 4 collect x x returns 1 3 就好像第一个参数后面有一个可选参数 However proc x x arity returns 1 如果 arity 为 1
  • 同一表单组的 JQuery 验证和 Bootstrap 3

    我有一个关于 has error 类和复杂对象的问题 基本上对于单个简单类型它工作得很好 但对于复杂对象则不然 我有以下代码 我的验证 public static MvcHtmlString ValidationErrorFor
  • ggplot2 - 用上标注释文本

    我想在我的绘图中添加 R 2 值 我将标签传递给 geom text 如下所示 geom text aes x y label caption parse T data frame x 2 y 80 caption R 2 0 43 但它绘
  • 正则表达式匹配无限数量的选项

    我希望能够解析像这样的文件路径 var www index htm html php shtml 放入有序数组中 array htm html php shtml 然后生成一个替代方案列表 var www index htm var www
  • 从 WCF 中的抽象类继承而不公开该类

    我想在 WCF 中将各种类公开为复杂类型 因此我根据需要在这些类型和属性上添加 DataContract 和 DataMember 属性 但是 如果我想让它们从抽象基类继承 例如 Person 从抽象 EntityBase 继承 我会收到一
  • 具有自己的交互的自定义​​标记视图

    我正在尝试创建自己的问题视图 我发现了以下内容tutorial http www eclipse tips com how to guides 14 creating a custom marker view一切正常 但是有没有可能添加自己
  • 我可以将可变切片引用重新分配给其自身的子切片吗?

    我正在实现一个类似堆栈的结构 其中该结构保存对切片的可变引用 struct StackLike lt a X gt data a mut X 我希望能够从该堆栈中弹出最后一个元素 例如 impl lt a X gt StackLike lt
  • 我可以使用 pip install 为其他用户安装模块吗?

    我希望安装 Numpywww data用户 但我无法使用该用户登录login 我怎样才能使www data让我们使用 Numpy 模块 澄清 Numpy 可用于 root 和我的默认用户 Running pip with sudo应该为所有
  • Google Maps API:由于鼠标悬停事件,信息窗口自动闪烁/关闭

    我正在为我正在进行的一个漂亮的新项目创建多边形 每当您将鼠标悬停在 infoWindow 上时 就会出现问题 多边形上的 mouseout 事件会触发 我不希望触发 mouseout 事件 除非鼠标移动到多边形和信息窗口之外 有任何想法吗
  • 拖动并滚动角度

    hello what i want to do in my project is when i moove the rectangle on left or right i scroll on my line as shown in the
  • 如何更新 tkinter 中 matplotlib 图中的 x 限制

    我使用 TKinter 制作了一个 GUI 可以从安捷伦示波器读取示波器轨迹 我希望 x 轴在更改时间 格时更新 更新我使用的 x 和 y 数据set xdata and set ydata 是否有类似的方法来更新 x 限制 您需要了解一些
  • 如何在 iOS 和 OS X 之间创建单一共享框架

    我正在尝试创建一个框架来保存在 iOS 和 OS X 上运行的应用程序的通用实体类 目前我只是将文件包含在每个目标中 但这需要更改数据模型 以便从当前目标获取类 因为在 Swift 中 您必须在模型文件中指定具有该类的模块 这当然意味着我有
  • 与 Electron 相比,Chrome 应用程序有哪些优缺点?

    我想用 javascript 使用网络技术 编写一个桌面应用程序 并寻找 Electron 和 Chrome 应用程序之间的比较 我需要的一切似乎都可以通过 Chrome Apps 实现 但是 Electron NW js 周围有很大的宣传
  • RecyclerView 项目中每个按钮的 Onclick

    如何获取 RecyclerView 项目中单击按钮的位置 这是我的 onBindViewHolder public void onBindViewHolder MyViewHolder holder int position Masar m
  • Android - 包含 ExpandableListView 的 NestedScrollView 在展开时不会滚动

    我有一个ExpandableListView里面一个NestedScrollView 是的 我知道 在另一个滚动视图中拥有一个滚动视图并不好 但我不知道还能做什么 请告诉我是否有人知道更好的方法 内容的大小NestedScrollView仍