- 浏览: 973553 次
- 性别:
- 来自: 山西
文章分类
最新评论
-
白小默:
你好 可以提供下源码DEMO吗,不知为何,我导出来的excel ...
jxls 使用模板文件导出生成excel -
zkzqzzz:
博主威武!
让微信二维码扫描您的APK -
zkzqzzz:
感谢博主 原来那些类都不是必须的 或者自己写!!博主真棒 ...
抢红包插件实现原理浅析 -
zkzqzzz:
博主 请问你的其他类在哪里呢?
抢红包插件实现原理浅析 -
zkzqzzz:
其他类在哪呢?
抢红包插件实现原理浅析
1 |
<ListView android:id= "@+id/locallist_lv" android:layout_width= "fill_parent"
|
2 |
android:layout_height= "fill_parent" android:layout_above= "@id/btm_menu" |
3 |
android:layout_below= "@id/top_menu" |
4 |
android:divider= "@drawable/song_item_line" item之间的分割线
|
5 |
android:cacheColorHint= "#00000000" 系统切换item时的缓存色
|
6 |
android:scrollbars= "none" 不显示滚动条
|
7 |
android:listSelector= "#00000000" />选中时背景色
|
1. 将ListView的背景色设置为白色,ListIView控件上下滑动时,背景就会变为黑色,但是图片会正常显示,这怎么解决呢?网上搜了一下,
如果大家在非黑色背景下使用ListView控件时,Android默认可能在滚动ListView时这个列表控件的背景突然变成黑色。这样可能导致程序的黑色的背景和主程序的主题既不协调。解决的方法Google在设计Android时也考虑了,在Layout的ListView中加入 android:cacheColorHint="#00000000" 的属性即可,或者是调用ListView的setCacheColorHint(0);方法。
2. 在ListView的item项里使用CheckBox或者Button时,OnItemClickListener无响应的问题
在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需要通过自定义ListView来实现一些效果,那么在这个时候,我们通常会碰到自定义ListView无法选中整个ListViewItem的情况,也就是无法响应ListView的onItemClickListener中的onItemClick()方法,之后自己查看了一下ViewGroup的源码,发现了以下的一段常量声明:
/**
* This view will get focus before any of its descendants.
*/
public static final int FOCUS_BEFORE_DESCENDANTS = 0×20000;
/**
* This view will get focus only if none of its descendants want it.
*/
public static final int FOCUS_AFTER_DESCENDANTS = 0×40000;
/**
* This view will block any of its descendants from getting focus, even
* if they are focusable.
*/
public static final int FOCUS_BLOCK_DESCENDANTS = 0×60000;
/** * This view will get focus before any of its descendants. */
public static final int FOCUS_BEFORE_DESCENDANTS = 0×20000;
/** * This view will get focus only if none of its descendants want it. */
public static final int FOCUS_AFTER_DESCENDANTS = 0×40000;
/** * This view will block any of its descendants from getting focus, even * if they are focusable. */
public static final int FOCUS_BLOCK_DESCENDANTS = 0×60000;
我们看到了一行代码定义的变量的意思是“当前View将屏蔽他所有子控件的Focus状态,即便这些子控件是可以Focus的”,其实这段话的意思就是这个变量代表着当前的View将不顾其子控件是否可以Focus自身接管了所有的Focus,通常默认能获得focus的控件有Button,Checkable继承来的所有控件,这就意味着如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法,然而将ListView的Item Layout的子控件focusable属性设置为false有点繁琐,我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItenClick()方法了。例如我的ListViw的每个item项是RelativeLayout,那么我就可以设置RelativeLayout的android:descendantFocusability=”blocksDescendants”即可。注意:这个属性不能设置给ListView,设置了也不起作用。
第二种方法是将ListView子控件中的CheckBox或者ImageButton,Button的android:focusable="false"属性即可。
第三种方法是不适用CheckBox,或者Button,使用TextView,等等完全可以代替Button。发表评论
-
Android客户端代码保护技术-完整性校验
2018-01-08 17:10 1317由于Android系统固有的缺陷、Android应用分发 ... -
android开发中手动v2签名实现方法
2018-01-08 10:31 1121用v2签名前要进行v1签名或zipalign。 1. z ... -
webview支持LocalStorage本地存储
2017-03-31 10:30 1396//允许JavaScript执行 ... -
七步配置phonegap+cordova+ionic开发环境
2016-12-19 16:21 727本文讲的是Android混合 ... -
梆梆加固破解
2016-10-13 09:01 1575本文假设你已经使用过梆梆加固,手头至少有个一个通过梆梆加固后 ... -
android zxing 扫描二维码 横屏转竖屏
2016-09-14 15:41 0Zxing 竖屏切换 Android 在google上下 ... -
封装Volley使Volley的每个请求都自动保存和发送Cookie
2016-09-14 10:57 0思路很简单,每次请求获取到服务器返回的response就解 ... -
Android二维码ZXing扫描区域大小的调整,提高扫描速度
2016-09-14 10:48 2681Zxing本身默认的扫图区域最大只有 360*480 ... -
解决Android二维码扫描ZXing竖屏拉伸变长闪退扫描区域小等问题
2016-09-14 10:42 1296Android 基于google Zxing实现二维码、条形 ... -
Android平台下利用zxing实现二维码开发
2016-09-14 09:25 519现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研 ... -
Zxing扫描二维码
2016-09-14 09:24 697摘要 android Zxing扫描二维码 横竖屏 ... -
Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
2016-09-14 09:18 546转载请注明出处:http://blog.csdn.net/x ... -
React Native应用部署/热更新-CodePush最新集成总结
2016-08-02 11:06 610本文出自《React Native学习笔记》系列文章。 ... -
让微信二维码扫描您的APK
2016-07-27 11:26 1554二维码深入人心,很多App都在官网挂出了可以扫描下载apk的 ... -
Activity类的runOnUiThread方法
2016-07-22 10:40 803[javascript] view plain c ... -
Can't create handler inside thread that has not called Looper.prepare()
2016-07-22 10:24 664错误信息:在Android开发中,如果在一个Thread中启 ... -
Android编程之解决android-support-v4打包问题
2016-07-21 09:27 585如果工程引入了android-support-v4的jar类 ... -
Android 编程下的代码混淆之(android-support-v4.jar)
2016-07-21 09:24 426项目在代码混淆过程中如果引用了第三方 Jar 包,需要在混淆 ... -
phoneGap可行性分析
2016-07-20 16:25 5431 移动应用现状 移动应用产品往往常 ... -
梆梆SDKs详细分析(1) - 防界面劫持SDK
2016-07-20 10:23 818前言 前段时间,国外知名的安全公司fireeye发 ...
相关推荐
综上所述,通过定义XML布局文件并创建自定义Adapter,我们可以实现Android中的ListView,每个Item以XML形式显示数据。理解并熟练运用这些知识点对于开发高效且用户体验良好的Android应用至关重要。
本文将详细介绍如何配置环境,创建ListView,以及实现动画效果。 首先,你需要确保你的开发环境已经搭建完成,包括安装了Android SDK,对应版本(1.6,即API Level 4)的系统镜像,以及集成开发环境Eclipse。在...
- `AndroidManifest.xml`:应用的核心配置文件,定义了应用的组件、权限和其他设置。 - `src`:存放源代码的目录。 - `res`:资源文件夹,包含了应用的布局、图标、字符串等资源。 - `assets`:可以放置任意文件的...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。分页功能是优化用户体验、减少内存消耗的重要手段,尤其当数据源庞大时。本文将详细介绍如何在Android中实现ListView的分页功能,并结合给定的...
"ListApp"是一个基础的Android ListView教程项目,涵盖了ListView的基本使用、Adapter的配置、数据绑定、事件监听以及简单的页面跳转。对于初学者来说,通过这个示例可以深入理解ListView的工作原理和使用方法,为...
2. ListView配置:在XML布局文件中,设置ListView,并为其创建一个适配器(Adapter)。适配器将负责将数据源中的数据转换为ListView可显示的视图。 3. 懒加载适配器:创建自定义适配器,扩展BaseAdapter或...
在`getView()`方法中,我们将实例化并配置上述`card_view.xml`布局,填充数据并返回视图对象。 ```java public class CardListAdapter extends BaseAdapter { private Context context; private List<CardModel> ...
本篇文章将深入探讨如何在Android中使用ListView,包括基本配置、适配器(Adapter)的使用以及一些优化技巧。 首先,我们需要在布局文件中添加ListView元素。在XML布局中,你可以这样定义一个ListView: ```xml ...
2. **自定义布局**:每个ListView项可以通过XML定义一个单独的布局文件,这样可以包含任何想要的控件。在`getView()`方法中,通过LayoutInflater加载这个布局,并将数据绑定到相应的控件上。例如,你可以创建一个...
在Android开发中,将XML数据解析并展示到ListView是一种常见的数据加载方式。在这个场景中,我们看到使用了PULL解析器来处理XML数据,并通过ListView显示。以下是详细的知识点讲解: 1. **PULL解析器**: PULL解析...
6. **AndroidManifest.xml配置** 确保在`AndroidManifest.xml`中正确声明了主Activity和其他必要的权限,例如网络访问权限(如果应用需要从网络获取数据)。 7. **项目构建配置** `.classpath`、`.project`、`...
在Android中,通常我们会创建一个XML布局文件来设计每个子项的界面。 2. **Adapter的概念** Adapter是ListView与数据源之间的桥梁,它负责将数据转化为ListView可显示的视图。在Android中,我们通常使用...
在Android开发中,ListView是常用的数据展示组件,用于显示大量数据列表。然而,为了提供更好的用户体验,Android开发者经常需要实现ListView的“拉动刷新”功能,让用户可以轻松地更新列表内容。"android listview ...
1. **布局文件配置**:在XML布局文件中添加ListView元素,设定其ID以便在代码中引用。例如: ```xml <ListView android:id="@+id/my_list_view" android:layout_width="match_parent" android:layout_height=...
在Android Studio环境中,记得在build.gradle文件中配置好依赖,如appcompat库,以便使用TextView、ListView等组件。编写布局XML文件,定义ListView和搜索框的结构。在Activity中实例化它们,并设置适配器和监听器。...
在XML布局文件中,我们将使用(这里以示例包名为例)替换掉原本的<ListView>标签,设置相关的属性,如id、width、height以及android:scrollbars="horizontal",使滚动条显示在水平方向。 4. **编程实现** 在...
开发者通过自定义ListView类,结合触摸事件监听、内部类处理刷新逻辑,以及适当配置混淆规则,成功地构建了一个具有下拉刷新功能的ListView。这个Demo对于学习和理解Android UI交互设计,特别是ListView的高级用法,...
2. **布局配置**:在XML布局文件中,需要添加SwipeRefreshLayout作为ListView的父容器,并为ListView设置相应的id。SwipeRefreshLayout会包裹ListView,提供下拉刷新的交互。 ```xml <androidx.swiperefreshlayout....
7. **build.gradle文件**:这是Android项目构建配置文件,包含了项目的依赖库信息、版本控制等。在本案例中,可能会看到高德地图SDK的依赖声明,如`implementation 'com.amap.api:maps:4.5.1'`,这表示项目引用了...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。ArrayList是Java集合框架中的一个重要类,常用于存储动态大小的有序对象数组。在这个场景中,我们将探讨如何利用ArrayList来实现...