机顶盒上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焦点等级很高。

时间: 2024-11-20 20:46:22

机顶盒上gridview+ScrollView的使用。的相关文章

Android高级控件——GridView ScrollView ViewPager (上)

Android高级控件--GridView ScrollView ViewPager (上) GridView 网格视图,网格视图组件,九宫图显示数据表格(一种控件) ScrollView滚动视图 是一个单一容器,只能包含一个组件. ViewPager左右滑动 SlideMenu侧边栏 PullToRefreshListView下拉刷新 ListView新闻 原声列表视图 <?xml version="1.0" encoding="utf-8"?> &l

Android ListView,GridView,ScrollView,ProgressBar,SeekBar,RelativeLayout,EditText常用属性

ListView的一些特殊属性: 1.ListView的XML属性 [java] view plaincopy android:divider//在列表条目之间显示的drawable或color android:dividerHeight//用来指定divider的高度 android:entries//构成ListView的数组资源的引用.对于某些固定的资源,这个属性提供了比在程序中添加资源更加简便的方式 android:footerDividersEnabled//当设为false时,Lis

DLNA架构在机顶盒上播放云存储文件的实现

DLNA 架构在机顶盒上播放云存储文件的实现   摘要: 随着越来越多的数码设备,音像设备等对 UPNP 协议的支持和普及,业界对多媒体内容提供服务的需求越越来越强烈,为了实现遵循 UPNP 协议和 DLNA 架构来对多媒体内容提供服务,多媒体服务器 DMS 就成了唯一能够担当该需求的设备.本文着重介绍如何基于 DLNA 架构,来实现云端媒体文件在机顶盒上的播放. 关键词: DLNA , UPNP , DMS ,云存储, fuse 1 . DLNA 简介 数字生活网路联盟 Digital Liv

PC端使用adb启动和关闭Android机顶盒上的软件。

1.启动一个程序使用命令: adb shell am start 包名/类名 或分两步走: $ adb shell      $ am start -n {包(package)名}/{包名}.{活动(activity)名称} 2.关闭一个程序: adb shell am force-stop  包名

触摸点为scrollview上的子控件时,scrollview不能滚动(iOS8)

现象:在iOS8上,scrollview上面布局了多行多列的button,滑动scrollview,如果当触摸点是在按钮上,scrollview不能滚动. 例如: 解决方法:设置scrollview的panGestureRecognizer.delaysTouchesBegan为YES, scrollView.panGestureRecognizer.delaysTouchesBegan=YES; 关于这个问题,应该是和触摸事件的传递有关,继承自scrollview定tableview也会有这样

viewpager 和水平scrollView 进行绑定。

Viewpager + gridview +fragment 控件的聚合 1.需求顶部对应的是一个水平滚动scrollview中间一一些类别. 2.下面是一个viewpager 3.需要将viewpager和上面的水平scrollview进行关联,当上面的水平scrollview中类别点击的时候,下面的viewpager进行相应的滚动. 4.当viewpager进行切换的时候,上面的水平scrollview进行自动的滚动,和下面的viewpager角标相互对应.当scrollview滚动到做右边

【Android】Scrollview 相关问题汇总

去除Scrollview 滑动边界渐变颜色 去掉滚动条,并将在滑动时,边界不会变成灰白 <horizontalscrollview android:overScrollMode="never" android:background="@null" android:scrollbars="none" android:fadingEdge="none" /> scrollview初始化定位滚动条的位置在需要的地方调用m

android scrollview 属性

android:background  设置背景色/背景图片.可以通过以下两种方法设置背景为透明:”@android:color/transparent”和”@null”.注意TextView默认是透明的,不用写此属性,但是Buttom/ImageButton/ImageView想透明的话就得写这个属性了. android:clickable  是否响应点击事件. android:contentDescription  设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提

Android开发:TVBox智能机顶盒开发实用技巧分享

本文旨在指导想要进入Android TVBox智能机顶盒开发领域或刚刚进入Android TVBox开发领域的新人带路,愿你们越走越远! 实用工具篇 Eclipse+ADT 别问它干嘛用的,我也不知道. SercureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议. SecureCRT是一款用于连接运行包括Windows.UNIS和VMS的远程系统的理想工具. 通过使用内含的VCP命令行程序可以进行加密文件的传输.有流行CR