(二)容易忘记又比较好用的控件属性

一 、android:descendantFocusability

开发中很常见的一个问题,项目中的GridView或ListView不仅仅是简单的文字和图片,常常需要自己定义Adapter,问题就出现了,可能会发生点击每一个item的时候.没有反应,无法获取的焦点.

原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。 

这时候就可以使用android:descendantFocusability来解决啦,API描述如下: 

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。 
属性的值有三种:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点 

通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了

时间: 2024-11-09 06:36:19

(二)容易忘记又比较好用的控件属性的相关文章

ios笔记(二)控件属性

1.设置UIButton的按钮内容 //设置自定义的按钮 //UIButton *button1=[UIButton buttonWithType:UIButtonTypeCustom]; //设置一个圆角的按钮 UIButton *button1=[UIButton buttonWithType:UIButtonTypeRoundedRect]; button1.frame=CGRectMake(80,250,250, 30);//按钮的位置坐标 [button1 setTitle:@"But

【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨.鹰眼.比例尺.2D3D转换控件.版权控件. ----------------------------------------------------------------------------------------------------------------- 一.安装配置notepad++ 为什么

WebForm(二)——控件和数据库连接方式

一.简单控件 1.Label(作用:显示文字) Web中: <asp:Label ID="Label1" runat="server" Text="Label" BorderColor="Black" BorderStyle="Solid" BorderWidth="5px"></asp:Label> 编译完成后的元素时span(html) <span id

13.MFC控件(二)

一.列表控件 1. 相关类 CListCtrl - 父类是CWnd类,控件类,常用于对话框程序中. CListView - 父类是CCtrlView类,视图类,常用于文档视图应用程序中. 通过调用GetListCtrl()函数得到视图客户区的控件,通过CListCtrl类完成相关功能. 列表控件有4中不同的显示风格:图标.小图标.列表.报表(详细信息). 2. CListCtrl类的使用 2.1 设置控件的图标列表(图标列表.小图标列表) (1)添加与图标列表关联的位图 (2)创建图标列表 CI

Jquery自定义扩展方法(二)--HTML日历控件

一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看看效果图吧 效果图很简单,代码封装在JQuery中,网页端只需要要调用即可: 二.Jquery自定义实体对象 Jquery可以自定义函数function,有没有可以定义实体对象,里面封装方法那?查询了一下资料发现,是可以的,不仅能够封装属性,还可以写自己的方法,调用模板代码如下: $.Calende

【转】带checkbox的ListView实现(二)——自定义Checkable控件的实现方法

原文网址:http://blog.csdn.net/harvic880925/article/details/40475367 前言:前一篇文章给大家展示了传统的Listview的写法,但有的时候我们并不想在DataHolder类中加一个标识是否选中的checked的成员变量,因为在项目开发中,大部分的ListItemLayout布局都是大家共用的,有些人根本不需要checkbox控件,所以会在初始化的时候把这个控件给隐藏掉,但我们的DataHolder在构造的时候以及ListItemAdapt

Android--自定义控件(二)

View的绘制流程 Android中的任何一个布局.任何一个控件其实都是直接或间接继承自View的 每一个视图的绘制过程都必须经历三个最主要的阶段,即onMeasure().onLayout()和onDraw() 一. onMeasure() measure是测量的意思,那么onMeasure()方法顾名思义就是用于测量视图的大小的.View系统的绘制流程会从ViewRoot的performTraversals()方法中开始,在其内部调用View的measure()方法.measure()方法接

用户控件(二)--常见4 种路径问题解决:

二.路径:1.问题: 添加到用户控件中的图片以及超链接 都会有固定的路径,当将用户控件用到其他页面中后,对应的页面路径需要发生变化,否则无法正常作用显示:解决: 在添加到用户控件中的 HTML 标记或者标准控件中添加:runat= server id=“id名”:这样服务端会根据使用情况自动更正图片或者超链接路径:注意: 超链接可以直接使用标准控件:Hyperlink 它里面直接带 runat=server: 2.问题?样式表中值的路径:(例)background-image:url(路径) 解

Android View measure (二) 自定义UI控件measure相关

本篇模拟三个角色:Android 架构师-小福.Android  控件开发工程师-小黑. Android 开发工程师-小白,下面按照三个角色不同角度分析measure过程. 小福负责分享: measure的本质 measure代码流程 onMeasure方法与MeasureSpec 提出问题 小黑负责分享: 布局控件开发中覆写Measure例子 - ok 从遇到的一个异常说起 什么时候需要覆写onMeaure? - ok view.getWidth与view.getMeasureWidth区别