Android开发之机顶盒上gridview和ScrollView的使用详解

Android开发之机顶盒上gridview和ScrollView的使用详解,第1张

概述最近在机顶盒上做一个gridview,其焦点需要在item的子控件上,但gridview的焦点默认在item上,通过

最近在机顶盒上做一个grIDvIEw,

其焦点需要在item的子控件上,但grIDvIEw的焦点默认在item上,通过
androID:descendantFocusability="afterDescendants"

<ScrollVIEwandroID: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.MyGrIDVIEwandroID: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的使用详解,希望对大家有所帮助!

总结

以上是内存溢出为你收集整理的Android开发之机顶盒上gridview和ScrollView的使用详解全部内容,希望文章能够帮你解决Android开发之机顶盒上gridview和ScrollView的使用详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1149603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存