学习下关于ViewStub实例的用法及带Drawable的TextView的妙用
在项目中,我们可能有多种数据来源比如:



里面有ListView也有当获得数据为空的时候显示的空信息。根据点击的项目还是差事不同,显示的空消息也不同。a.没有收藏的项目,b目前没有收藏的差事。
其实实现方法很多。也都可以实现。不过用viewStub在这里最恰当不过了。
先看此Activity的布局吧。布局文件:
<
FrameLayout android:id="@+id/layoutFrm"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background
="@color/background_color" > <ListView xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/lstV_fav_task"
-----------若干你懂得-------
ptr:ptrMode
="pullFromEnd" > </com.handmark.pulltorefresh.library.PullToRefreshListView> <ViewStub android:id="@+id/viewStub"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout
="@layout/activity_task_favourite_nodata" /> </FrameLayout>
在代码里初始化下!那这个ViewStub加载的布局文件的activity_task_favorite_nodata又在哪里呢?
看布局:
android:id="@+id/txtV_nodata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawablePadding="20dp"
android:drawableTop="@drawable/favourite_nodata"
android:gravity="center_horizontal"
android:text="@string/my_task_fav_nodata"
android:textColor
="@color/listview_header_textcolor" />
那等于说介个布局其实就是个Textview了。闹了半天,我以为还要搞个Textview还要高个Imageview,弱爆了,啥都不懂出来混看人家写的我又悲剧了。
(就是这个drawable/favourite_nodata.png文件啦)
代码里该怎么办呢?先设置为不可见(预加载下)干。不难。关键道哥不学习。
(TextView) viewStub.inflate();
layoutEmpty.setVisibility(View.GONE);
肯定要获取数据了。。那得有个方法。在这里:
private void getFavProjects()
得到数据里,判断datalist.size 。。。有了。。。下面你懂得
private void setEmptyViewByDataList(int type) {
if (datalist.size() > 0) {
layoutEmpty.setVisibility(View.GONE);
} else {
if (type == TYPE_PROJECT)
layoutEmpty.setText(R.string.my_project_fav_nodata);
else
layoutEmpty.setText(R.string.my_task_fav_nodata);
layoutEmpty.setVisibility(View.VISIBLE);
}
}

学习下关于ViewStub实例的用法及带Drawable的TextView的妙用的更多相关文章
- Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)
1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...
- Android(java)学习笔记208:Android下的属性动画高级用法(Property Animation)
1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...
- jquery下json数组的操作用法实例
jquery下json数组的操作用法实例: jquery中操作JSON数组的情况中遍历方法用的比较多,但用添加移除这些好像就不是太多了. 试过json[i].remove(),json.remove( ...
- jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
今天学习jQuery,看到nth-child(even)用法,特意找了下这个选择器的用法,在CSS3标准中,用法很强大. 对此,我把CSS3标准中nth-child()用法大致介绍下: CSS3伪类选 ...
- Selenium2学习-039-WebUI自动化实战实例-文件上传下载
通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...
- Selenium2学习-014-WebUI自动化实战实例-012-Selenium 操作下拉列表实例-div+{js|jquery}
之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日 ...
- 【转】Java学习之Iterator(迭代器)的一般用法 (转)
[转]Java学习之Iterator(迭代器)的一般用法 (转) 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭 ...
- Python学习:类和实例
Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...
- JavaScript学习(2)call&apply&bind&eval用法
javascript学习(2)call&apply&bind&eval用法 在javascript中存在这样几种特别有用的函数,能方便我们实现各种奇技淫巧.其中,call.bi ...
随机推荐
- Object -C NSSet -- 笔记
// // main.m // NSSET // // Created by facial on 25/8/15. // Copyright (c) 2015 facial_huo. All ...
- [AngularJS] Using $parse Service
$parse is useful when you want to parse an expression and the context is not defined yet. For exampl ...
- [转] 浅谈 C++ 中的 new/delete 和 new[]/delete[]
转:http://www.cnblogs.com/hazir/p/new_and_delete.html 在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以 ...
- 单线程与多线程的简单示例(以Windows服务发短信为示例)
单线程示例: public delegate void SM(); SM sm = new SM(() => { while (true) ...
- vmware-tools(vmware workstation 10.0.4)安装的时候遇到的bug
有个GitHub,专门解决C++编译的时候出的问题 地址
- Cookies欺骗分析与防护
今天来谈谈cookies欺骗是怎么回事以及如何避免. 用户在登录之后通常会保存用户信息,以便在其他需要权限的页面去验证用户信息是否具有访问权限. 有同学说我在登录的时候已经很注意SQL注入问题了,还有 ...
- Android Studio中新建项目时Your android sdk is out of date or is missing templates的解决办法
在Android Studio中新建项目时出现了以下问题:Your android sdk is out of date or is missing templates. Please ensure ...
- j2ee开发中的“java容器”和“web容器”有什么区别?
http://blog.csdn.net/zi_jun/article/details/7387259
- 武汉科技大学ACM :1001: A+B for Input-Output Practice (I)
Problem Description Your task is to Calculate a + b. Too easy?! Of course! I specially designed the ...
- X-Y Problem
X-Y Problem 对于X-Y Problem的意思如下: 1)有人想解决问题X2)他觉得Y可能是解决X问题的方法3)但是他不知道Y应该怎么做4)于是他去问别人Y应该怎么做? 简而言之,没有去问怎 ...