ListView/GridView与ScrollView Scrollbar冲突问题。

LeanBack:HorizontalGridView和VerticalGridView使用详解 LeanBack是Google官方推出的TV端的功能库,里面包含了很多在TV Android端开发常用的控件,本文重点介绍其对RecyclerView适配TV端做的封装:HorizontalGridView、VerticalGridView。 HorizontalGridView和VerticalGridView都继承自RecyclerView,针对TV的特性,在item排版、焦点流转、上/失焦... 阅读详情
import android.content.Context;
import android.util.AttributeSet;
import android.widget.GridView;


public class MyGridView extends GridView{


    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int height = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >>2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, height);
    }


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


    

}


也可以动态设置ListView的高度来满足自己的需求。


备注:

scrollview和listview嵌套会造成不能滚动的问题,listview只会显示一行多一点

解决方法:在scrollview中添加属性:android:fillviewport="true",这就可以让listview显示全屏了。

scrollview滚动是因为高度超出了手机屏幕的高度,然而listview的高度是不确定的,所以导致scrollview无法滚动。

如果listview的高度超过了屏幕高度,又想要scrollview能够滚动,这需要在设置adapter后重现计算listview的高度

public void setListViewHeightBasedOnChildren(ListView listView) {
ImageAdapter listAdapter = (ImageAdapter) listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
int width = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
width = listItem.getMeasuredWidth();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
params.width = width;
listView.setLayoutParams(params);
}


Android-ExpandIcon:Google样式向上和向下的漂亮,简单的可自定义实现,展开箭头 Android-ExpandIcon Google样式向上/向下箭头的漂亮,简单且可自定义的实现。 使用该库的另一个好例子: 兼容性 该库与API 15(Android 4.0.3)兼容。 下载 将其添加到存储库末尾的root build.gradle中: allprojects { repositories { .. . maven { url " https://jitpack.io " } } } 添加依赖项 dependencies { implementation ' com.github.zagum:Android-ExpandIcon:1.3.0 ' } 用法 默认实现: < com .github.zagum.expandicon.ExpandIconView android : la 立即下载

相关推荐

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南)

本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。

weixin_28693683的博客 380

PWM技术与电机控制实战指南

脉冲宽度调制(PWM)是一种通过快速开关数字信号来模拟模拟量输出的技术,广泛应用于电机控制、电源管理等领域。其核心原理是通过调节占空比(高电平时间与周期的比值)来控制平均输出功率。PWM技术具有高效、精确和易于数字控制的特点,特别适合直流电机调速、LED调光等场景。在硬件实现上,可通过微控制器内置PWM模块(如STM32的TIMx)、专用驱动芯片或软件模拟方式生成PWM信号。对于电机控制,H桥电路配合PWM能实现正反转和调速功能,但需注意死区时间设置以避免短路。通过结合PID算法和编码器反馈,可显著提升控制

weixin_34072637的博客 396

Synares病毒实战:如何从U盘感染中恢复你的Excel和EXE文件(附专杀工具推荐)

本文详细介绍了Synares感染型病毒的典型特征与传播机制,特别是其通过U盘感染Excel和EXE文件的行为。文章提供了一套从应急隔离、诊断到使用专杀工具进行深度清除与文件恢复的完整实战流程,并推荐了有效的安全软件和修复方法,旨在帮助用户最大程度救回重要数据并构建长效安全防护习惯。

weixin_29230649的博客 1821

各种View滑动冲突解决方法(demo为ScrollView与ScrollView冲突)

public class InnerScrollView extends ScrollView { public InnerScrollView (Context context) { super(context); } public InnerScrollView (Context context) { super(context); } public InnerScrollView (Context context, AttributeSet attrs) { super(c

forzhers的博客 566

百度飞桨+文心大模型实战:生成式AI工程师认证备考全攻略(含真题解析)

本文详细解析百度飞桨与文心大模型结合的生成式AI工程师认证备考策略,涵盖认证体系、学习路径、核心技能突破及真题分析。帮助开发者掌握大模型原理、飞桨平台操作和文心大模型应用,高效通过工信部与百度联合认证考试。

loss4bartender的博客 682

Oracle入门——基础语法篇

ROWID是Oracle中的一个伪列,用于唯一标识数据库中的每一行。在查询中,可以使用ROWID来定位和操作特定的行,例如,删除特定的行或更新特定的行。在Oracle中,子查询是指嵌套在另一个查询内部的查询语句,它可以作为主查询的一部分,用于提供额外的过滤条件、计算或数据源。在Oracle中,连接查询是通过使用JOIN子句将两个或多个表中的数据合并在一起,以获取满足特定条件的结果集。在Oracle数据库中,ROWID和ROWNUM都是用于对行进行标识和定位的伪列,它们在查询中的使用有一些不同之处。

麦当当的博客 3089

【Android TV 开发】-->Leanback 中的 VerticalGridView

LeanBack 是 Google 官方推出的 TV 端的功能库,里面包含了很多在 TV Android 端开发常用的控件,本文重点介绍其对 RecyclerView 适配 TV 端做的封装:VerticalGridView 。

Kevin Learn Android 4864

WRF和WPS模型在Ubuntu系统上的安装与常见问题解决指南

本文详细介绍了在Ubuntu系统上安装WRF和WPS模型的完整教程,涵盖系统环境配置、依赖库安装、源代码编译以及常见问题的解决方案。重点解决了WPS编译中intmath.f文件的修改、环境变量设置和编译器兼容性等关键难点,帮助用户高效部署气象研究与预报模型。

weixin_29213525的博客 382

解决ScrollView嵌套ListView和GridView冲突的方法

本文摘抄自:http://blog.youkuaiyun.com/yuhailong626/article/details/20639217 原文地址:http://blog.youkuaiyun.com/yuhailong626/article/details/20639217 public class MyListView extends ListView { public MyList

lizhanqihd的博客 266

深入解析MOS管电容特性:从基础理论到高频应用

本文深入解析了MOS管的电容特性,从基础物理结构出发,详细拆解了栅氧电容、重叠电容和结电容的成因与影响。文章重点探讨了电容值随工作状态变化的非线性特性,并分析了其在CMOS高频开关电源、射频电路等应用中的关键作用,包括开关损耗、米勒效应、信号完整性挑战以及如何将电容特性转化为可控元件(如MOS变容管)的机遇。最后提供了从选型、仿真到PCB布局的实战设计指南。

weixin_29278805的博客 382

Python处理高光谱数据#3 降维

基于Python的高光谱降维操作 高光谱数据:点击此处可下载 用到的库:matplotlib、scipy、spectral 主要内容:主成分分析(PCA)与线性判别(LDA) 欢迎有兴趣的朋友交流指点。最后,废话不多说直接上代码???? import matplotlib.pyplot as plt from scipy.io import loadmat import spectral as spy

qq_273058791的博客 6937

Android ListView 分页加载

拥有ScrollBar组件中不能在嵌套ScrollBar组件,譬如ScrollView组件里面不能嵌套ListView或者是GridView,这个在源码里面就有这样的解释,因为这样是不科学的,存在两个可以滑动的组件的时候,将会出现滑动混淆的情况,譬如我想滑动里面的ListView的时候,那么现在外面的GridView是否选择滑动呢,系统不好判断,所以在Androdi中是不能嵌套两个ScrollBa

long704480904 1573

电化学-论文分享-NanoStat: An open source, fully wireless potentiostat

本文主要分享论文NanoStat: An open source, fully wireless potentiostat,并记录学习笔记。如果有条件,建议看原文最好。

分享技术笔记,希望对大家能够有一定的帮助,同时也通过归纳总结提升自己的个人能力。 2874

android listView嵌套gridview的使用心得

在开发的过程中可能需要用到listview嵌套gridview的场景,但是在android中,不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动事件,导致只显示一到两行数据。那么就换一种思路,首先让子控件的内容全部显示出来,禁用了它的滚动。如果超过了父控件的范围则显示父控件的scrollbar滚动显示内容,思路是这样,一下是代码。 具体的方法

专注Android开发 701

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

flutter学习笔记

1.跨平台移动UI框架2.与现有的代码一起工作(可以直接嵌入到原生代码中或直接把原生代码嵌入到自己的代码中运行)3. 完全免费、开源。

haoxuhong的博客 8245

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android gridview添加滚动条,如何在android中使用gridview的水平滚动条?

android:id="@+id/gridView1"android:layout_width="wrap_content"android:layout_height="match_parent"android:columnWidth="100dip"android:numColumns="8"android:scrollbarStyle="insideOverlay"android:scroll...

weixin_39761195的博客 555

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android TV开发-按键焦点了解与应用

下面将围绕下面几点展开讲解按键焦点: 文章目录1.按键焦点过程2.焦点控制3.焦点记忆4.应用场景 ViewGroup 1.按键焦点过程 2.焦点控制 关键函数focusSearch 3.焦点记忆 关键函数addFocusables,onRequestFocusInDescendants 4.应用场景 多级菜单,上下,左右等等结构,等等焦点错乱,焦点需要控制. ...

Android TV 开发 7987

GridLayoutManager这么用,你可能还真没尝试过

前言 Android学习PDF+架构视频+面试文档+源码笔记 阅读本文之前,你需要的一些知识储备: 对View的绘制流程有一些简单的了解。 Canvas的简单实用。 RecyclerView+GridLayoutManager的使用。 目录 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r0aANdR2-1571057729479)(https://upload...

Android 开发架构 3120

android gridview添加滚动条,android GridView禁止上下滑动以及禁止滚动条显示的方法。...

一、 android处理鼠标滚轮事件,并不是如下的函数:1) public boolean onKeyDown(int keyCode, KeyEvent event)2) public boolean dispatchKeyEvent(KeyEvent e一、 android处理鼠标滚轮事件,并不是如下的函数:1) public boolean onKeyDown(int keyCode, Ke...

weixin_39922151的博客 519

Gridview出现滚动条,组件冲突,如何解决

在你布局或者组件混用的时候你可能会发现 gridview 的九宫格没有完全在页面上显示,只是显示了一个局部(第一行)只有一个滚动条,还不能上下拖动,真的是让人很苦恼,就像下面截图这样,那么该怎么解决呢?............

qq_46906413的博客 4867

VS2010-DataGridView滚动条不可用的解决

近期,因工作需要,时隔多年,重新使用VS2010进行开发。 在调查既存项目bug的时候,发现DataGridView的滚动条已经设置了,画面上也显示滚动条的样子,但是不能使用。网上查了很多方法也没解决。 仔细看VS2010,感觉滚动条的设置并没有出错。但是,注意到了DataGridView的一个属性【Enable】。 这是个全局属性,会影响DataGridView的整体功能,滚动条之所以不能

qingdatiankong的博客 5600

解决DataGridView在多线程中无法显示滚动条的问题

在多线程中对DataGridView指定 DataSource 来填充数据,更新数据的时候,会导致DataGridView出现假死,显示错误或者滚动条无法显示的问题,在保证了DataGridView的ScrollBars设置为了Both,数据量大于DataGridView显示的的范围,而且没有冻结列的情况下,解决方法如下: 一是使用 Invoke 将执行数据绑定的代码交回给主线程(因为 Da

lllljz的专栏 9773
上一篇: 在LinearLayout 中TextView获取焦点问题
下一篇: AutoCompleteTextView 弹出输入法选择框问题
Superr爬爬虫
博客等级 码龄19年 72粉丝 93原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值