源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-01-28 10:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android开发之机顶盒上gridview和ScrollView的使用详解
最近在机顶盒上做一个gridview, [img]http://files.jb51.net/file_images/article/201602/2016022911055230.jpg[/img] 其焦点需要在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的使用详解,希望对大家有所帮助!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部