Android开发之机顶盒上gridview和ScrollView的使用详解
作者:李培能 发布时间:2021-08-06 11:57:59
标签:gridview,scrollview
最近在机顶盒上做一个gridview,
其焦点需要在item的子控件上,但gridview的焦点默认在item上,通过
android:descendantFocusability="afterDescendants"
<ScrollView
android:id="@+id/scroll_content"
android:layout_width="1740.0px"
android:layout_height="600.0px"
android:layout_x="81.0px"
android:layout_y="258.0px" >
<com.hysmarthotel.view.MyGridView
android:id="@+id/lightview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="afterDescendants"
android:horizontalSpacing="58dp"
android:numColumns="4"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="80dp" />
</ScrollView>
可以让gridview的子控件获得焦点。但是加了这个属性之后,gridview就会变得无法滚动,后来我就给gridview加了一个ScrollView,
但由于它们两个都有滚动条,所以我重写了一个gridview,让其滚动条消失。终于成功地让gridview可以一直让子控件获得焦点,并且可以顺利滚动。
package com.hysmarthotel.view;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.GridView;
public class MyGridView extends GridView {
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyGridView(Context context) {
super(context);
}
public MyGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
ps:我的布局是绝对布局,以及关于item的布局和adapter的代码没什么特别的。CheckBox焦点等级很高。
以上内容给大家介绍了Android开发之机顶盒上gridview和ScrollView的使用详解,希望对大家有所帮助!


猜你喜欢
- 1、安装依赖<dependency> <
- 在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB )。不过我觉得介绍的有点简单了,于是,再
- 本文实例为大家分享了Android微信摇一摇功能的实现方法,供大家参考,具体内容如下import java.util.ArrayList;
- 一、简介Mybatis-Plus(简称MP)是一个 Mybatis 的一个增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发
- 概述ConcurrentHashMap(CHM)是日常开发中使用频率非常高的一种数据结构,想对于普通的HashMap,CHM提供了线程安全的
- 0x01. 概述SpringBoot平时我们用的爽歪歪,爽到它自己连Tomcat都自集成了,我们可以直接编写SBT启动类,然后一键开启内置的
- 前言最近在改进项目的并发功能,但开发起来磕磕碰碰的。看了好多资料,总算加深了认识。于是打算配合查看源代码,总结并发编程的原理。准备从用得最多
- 对于yield关键字我们首先看一下msdn的解释:如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法、运算符或 get 访问
- [LeetCode] 159. Longest Substring with At Most Two Distinct Characters
- 在web页面上我们可以通过frameset,iframe嵌套框架很容易实现各种导航+内容的布局界面,而在winform、WPF中实现其实也很
- 发布:一个对象是使它能够被当前范围之外的代码所引用:常见形式:将对象的的引用存储到公共静态域;非私有方法中返回引用;发布内部类实例,包含引用
- 在上一篇文章中,我为大家介绍了《5种创建文件并写入文件数据的方法》,本节我们为大家来介绍6种从文件中读取数据的方法.另外为了方便大家理解,我
- 本文实例为大家分享了Unity实现弧形移动效果的具体代码,供大家参考,具体内容如下一、实现效果二、第一种实现方法——弧形插值using Un
- 前言写Android:如何编写“万能”的Activity的这篇文章到现在已经好久了,但是由于最近事情较多,写重构篇的计划就一直被无情的耽搁下
- 本文将带领大家使用基于JAX-RS REST风格的实现Jersey来上传文件到服务器制定的文件夹,如果是图片并读取显示出该图片。准备工作:准
- 方法一:Handler+Threadpackage com.xunfang.handerDemo; import android.app.A
- 1.如下图中的检测值存到数据库是科学计数法2 经过代码处理后3 只需要对你读到的字符串进行如下操作BigDecimal bd = new B
- 本文实例为大家分享了C#实现学生成绩管理系统的具体代码,供大家参考,具体内容如下C#作业 用循环结构/数组实现进入启动页面管理员身份登入用户
- 利用 Spring 工厂加载机制,实例化 ApplicationListener 实现类,并排序对象集合创建应用事件 * 创建类实现接口Ap
- 学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World!using System;namespace DemoMainA