listview

ListView 空值时的友好提示

狂风中的少年 提交于 2020-02-29 15:28:35
做 项目的时候,如果ListView或者gridView为空,进入界面一大片的空白,不是很好看,这个时候我们希望没有数据的时候给出提示,完全可以通过 手动判断,当ListView中的size为0,显示或者隐藏某个TextView。但是略显麻烦。下面说两种显示的方法。 关键方法是listview( http://developer.android.com/reference/android/widget/ListView.html) 中父类AdapterView的 setEmptyView (View emptyView)方法 第一种: 分两种情况,如果继承的是ListActivity: <ListView android:id="@id/android:list".../> <TextView android:id="@id/android:empty.../> 当列表为空时就会自动显示TextView 。 如果继承的是一般的Activity: 可以 <ListView android:id="@+id/list_sms_history" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollingCache="false" /> <TextView android

一个优质的新闻客户端app

别等时光非礼了梦想. 提交于 2020-02-28 21:24:22
一个优质的新闻客户端app,本项目有几大亮点 (1):一个不错的欢迎页面效果,上下滑动滑动到底部效果 (2):加载网络弹窗loading效果,也很不错 (3):本项目大体框架也是一个非常棒的,强烈推荐使用当做app框架参考 (4):切换每一个fragment的时候处理的加载模式 (5):通过webview调用h5效果的商城,也很不错 运行效果: 效果源码: http://www.itlanbao.com/code/20151126/10000/100663.html 来源: oschina 链接: https://my.oschina.net/u/2461971/blog/536257

列表视图ListView

烂漫一生 提交于 2020-02-28 14:23:02
一、常用属性 android : layout_width = "match_parent" android : layout_height = "match_parent" android : orientation = "horizontal" > < ListView android : id = "@+id/lv_1" android : layout_width = "match_parent" android : layout_height = "wrap_content" android : listSelector = "@drawable/list_item" / > //这是列表选择器,在这可以通过drawab文件来修改列表的样式 下面是drawable/list_item的内容,当我点击列表是他是橙色的,否则就是白色 < selector xmlns : android = "http://schemas.android.com/apk/res/android" > < item android : state_selected = "true" android : drawable = "@color/colorOrange" / > < item android : state_pressed = "true" android : drawable = "

Flutter中函数作参数作回调

回眸只為那壹抹淺笑 提交于 2020-02-28 01:30:40
很想好好写写博客,但是没时间,只能作笔记,把有用记来。 在做listview的时候,都是先做好列表数组,然后build一个List传给Listview,所以我就公共文件包里写了一个通用函数,以此来应对不同页面的Listview构建数据,这个时候Ontop事件就不好处理,看了好多文章,都没搞定,最看到动态函数几个字,脑瓜一闪,搞定了。。 //函数作参数的定义 List<Widget> BuildWedgit(List listData,Function(int) fun){ List<Widget> list = new List(); Image img; int i=0; String title; String subtitle; Usercard card; for(int i=0;i<listData.length;i++) { //下面省略 list.add( ListTile( onTap:(){ //这里调用传过来的函数 fun(i); } ) ); list.add(Container(height: 0.5,color:Colors.grey)); } return list.toList(); } } //调用页面中的函数体 myselect(int i){ print('选择了'+i.toString()); } //调用页面中的Listview child

Android: Dynamically change Image in Listview

元气小坏坏 提交于 2020-02-26 07:08:29
问题 I have a listview defined by the following xml. I need to toggle the image in the list during runtime when the user clicks on any row. How can I achieve this? Any help is highly appreciated. Thanks //list_item.xml <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="

ListView 图片错位

只愿长相守 提交于 2020-02-26 02:57:37
图片错位问题的本质源于我们的 listview 使用了缓存 convertView,假设一 种场景,一个 listview 一屏显示九个 item,那么在拉出第十个 item 的时候,事 实上该 item 是重复使用了第一个 item,也就是说在第一个 item 从网络中下载 图片并最终要显示的时候,其实该 item 已经不在当前显示区域内了,此时显示 的后果将可能在第十个 item 上输出图像,这就导致了图片错位的问题。 解决方案一 使用findViewWithTag 在getView()方法里面imageView.setTag(url); 在网络请求到 BitmapDrawable 后 ImageView imageView = (ImageView) mListView.findViewWithTag(imageUrl); if (imageView != null && b itmapD rawable != null ) { imageView.setImageDrawable( b itmapD rawable ); } 解决方案二 双向使用弱引用关联 这种解决方案的本质是要让ImageView和BitmapWorkerTask之间建立一个双向关联,互相持有对方的引用, 在

第三章UI

若如初见. 提交于 2020-02-24 14:21:22
常用控件 textview match_parent:和父局大小一样 wrap_content:由内容决定大小 文字对齐方式: android : gravity = "center" button 默认字母全部大写 禁用大写: android : textAllCaps = "false" edittext 提示性文本: android : hint = "请输入" 解决内容过大问题: android : maxLines = "2" imageview progressbar 圆形进度条 public void onClick ( View view ) { if ( progressBar . getVisibility ( ) == View . GONE ) { progressBar . setVisibility ( View . VISIBLE ) ; } else { progressBar . setVisibility ( View . GONE ) ; } } 长形进度条 style = "?android:attr/progressBarStyleHorizontal" android : max = "100" AlertDialog 弹出对话框 public void onClick ( View view ) { AlertDialog .

notifyDataSetChanged() doesn't call's onBindViewHolder() method

谁说胖子不能爱 提交于 2020-02-24 04:03:46
问题 I have a RecyclerView's Adapter, where I am adding items dynamically, when I am calling the my adapter's updateMessages function old data list were changing correctly but, recycler items stays the same. this is my updateMessages method in my adapter: fun updateMessages(messages: List<MessageReceivedResponseModel>?){ messages?.let { this.messages.clear() this.messages.addAll(messages) } notifyDataSetChanged() } also here is complete adapter class, I don't understand what's the problem class

notifyDataSetChanged() doesn't call's onBindViewHolder() method

半腔热情 提交于 2020-02-24 04:03:29
问题 I have a RecyclerView's Adapter, where I am adding items dynamically, when I am calling the my adapter's updateMessages function old data list were changing correctly but, recycler items stays the same. this is my updateMessages method in my adapter: fun updateMessages(messages: List<MessageReceivedResponseModel>?){ messages?.let { this.messages.clear() this.messages.addAll(messages) } notifyDataSetChanged() } also here is complete adapter class, I don't understand what's the problem class

博客园客户端(Universal App)开发随笔 -- App的精灵:自定义控件

两盒软妹~` 提交于 2020-02-23 18:05:31
前言 拿到一个App的需求后,对于前端工程师来说,第一步要干什么?做Navigation规划!第二步要干什么?做页面分解!页面分解如何做?首先要确定UI Element的容器,其次要抽象UI Element本身,也就是要做一堆自定义控件,最终组成整个页面。今天我们就说说自定义控件如何实现吧。 感性认识 在我们的博客园UAP的Windows Phone的版本中,一个最重要的自定义控件就是PostControl,它的样子如下图中红色矩形内所示。 这个控件在无数页面中都要用到,而且有几种变种。上面看到的是在主页/热门/精华中所展示的样子,是界面元素最全的,包括标题,作者,发布时间,阅读状态(朕已阅),摘要,属性(最下方的三组数字),还有最下方的横线(可不要忽视它哟,它是整体页面设计的重要组成部分)。 第二个变种,是在博客列表中,如下图所示。细心的人可以发现这个变种中没有显示作者,因为这是在博主页面,上下文中有MS-UAP的作者名称了,所以没必要再显示了,否则会显得很自恋。 第三个变种,在分类博客列表里面,最下方的属性没有显示。由于服务器端返回的数据中,推荐/阅读/评论次数都是0,所以弄3个0在那里感觉很傻,所以可以不显示了,这样会觉得自己智商有所提升。 第四个变种,是在所有列表中都有,就是不显示阅读状态(标题下面的“朕已阅”没有),表示这是一篇新博客,你还没有来得及看。 第五个变种