简单FadingActionBar的使用

这个库对于现如今使用的Compat版本的ActionBar和Toolbar支持根本没有,所以建议不要再学习如何使用此库。

地址:https://github.com/ManuelPeinado/FadingActionBar

上面的结果得出坑了我半天的时间,下面的结论的得出耗费了我另外2个小时的时间。

1.首先,不要在AndroidStudio中使用v7的ActionBarActivity来作为parent,否则会出现NullPointer的异常。

2.使用继承自Activity的暂时无法支持透明效果,因为如果使用的style的theme使用了v7的AppCompat照样是空指针(总之,一点跟ActionBar兼容的我这都不好用)

3.不要使用Holo中的DarkActionBar和NoActionBar这两个theme,一个会显示白色ActionBar(而且字体也是白色,发虚),一个照样空指针(这个是手残试了一下之后的结论)

4.还是建议找一下别的库(我会继续寻找的,如果没有好的实现,我将来可能自己实现一个简版的)

如何引用库就不多说了,github上有,支持gradle文件的依赖

使用方式:

 1     @Override
 2     protected void onCreate(Bundle savedInstanceState) {
 3         super.onCreate(savedInstanceState);
 4
 5         FadingActionBarHelper helper = new FadingActionBarHelper()
 6                 .actionBarBackground(R.drawable.ab_background)
 7                 .headerLayout(R.layout.header)
 8                 .contentLayout(R.layout.activity_listview);
 9         setContentView(helper.createView(this));
10         helper.initActionBar(this);
11
12         ListView listView = (ListView) findViewById(android.R.id.list);
13         ArrayList<String> items = loadItems(R.raw.nyc_sites);
14         ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items);
15         listView.setAdapter(adapter);
16     }

其中涉及了三个部分

actionbarBackground,下拉之后的背景(ActionBar文档推荐对于ActionBar的背景使用9patch图像)

headerLayout,Demo中下方图像显示区域的布局,这个区域的大小必须雅阁控制,如果与下方ListView出现大面积空白,那么可能就是你图像的布局和其他布局被引用后占据的是非预期大小的布局,可以在预览中看到。

contentLayout就是ListView等布局的位置,下面重点介绍这里的问题:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/list"
          android:layout_width="match_parent"
          android:layout_height="match_parent"/>

这里的问题就是,listView 的 id必须是android开头的,具体用什么命名参照demo中的相关用法即可。

模仿效果如下(暂时无法添加ActionBar初始的透明效果)

时间: 2024-12-16 02:53:16

简单FadingActionBar的使用的相关文章

GitHub开源库排名一百的简单介绍,值得收藏!

GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的 Android 开源库. iOS 版本的在此: https://github.com/Aufree/tri

C# Ping 简单使用

编程过程中,有时候需要判断主机是否在线,最简单的方法就是使用Windows的Ping命令看看能否ping通.看到网上很多文章,说用C#去调用windows的ping.exe,然后解析返回的字符串.我觉得这种方式太麻烦了,就做一下简单判断,不想弄那么麻烦. 查了一下,C#专门提供了一个Ping类,与Windows下的ping命令类似: 命令空间: System.Net.NetworkInformation; 使用方法: bool online = false; //是否在线 Ping ping =

自动生成简单四则运算的C语言程序

该程序是在博客园里面找的,具体是谁的找了半天没找到,无法提供它原本的链接.由于自己写的过于简单,且有一些功能暂时无法实现,所以就找了一个来应付作业,望原谅.在这个程序的源码中我改了一个错误的地方,源码中有这样一个随机数发生器的初始化函数的语句:"srand((unsigned)time(NULL))".srand函数是随机数发生器的初始化函数.但是正确的写法应该是:srand(unsigned( time(NULL))):为了防止随机数每次重复,常常使用系统时间来初始化,即使用time

Mysql的锁机制与PHP文件锁处理高并发简单思路

以购买商品举例: ① 从数据库获取库存的数量. ② 检查一下库存的数量是否充足. ③ 库存的数量减去买家购买的数量(以每个用户购买一个为例). ④ 最后完成购买. 仅仅这几行逻辑代码在并发的情况下会出现问题,自己可以想象一下. 这里暂时就不测试了,下面会针对并发的处理给出测试结果. 创建表: CREATE TABLE `warehouse` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `stock` int(11) NOT NULL

Winfrom 简单的安卓手机屏幕获取和安卓简单操作

为啥我要做这个东西了,是因为经常要用投影演示app ,现在有很多这样的软件可以把手机界面投到电脑上 ,但都要安装,比如说360的手机助手,我又讨厌安装,于是就自己捣鼓了下 做了这个东西, 实现了以下简单功能   1.屏幕获取(因为是截图方式获取的,所以有点卡顿) 2.实现点击功能,并在点击的时候出现一个手势图标,方便用户观看 3.实现简单的滑动功能 4.实现在界面上画图功能 5.实现拖拽安装apk功能 操作说明:鼠标左边 模拟手机点击,中键停止/开始刷新界面(画图的时候不能刷新),右键去掉画图内

iOS instruments之ui automation的简单使用(高手绕道)

最近使用了几次instruments中的automation工具,现记录下automation的简单使用方法,希望对没接触过自动化测试又有需求的人有所帮助.  UI 自动测试是iOS 中重要的附加功能,它由名为"Automation"的新的工具对象支持.Automation工具的脚本是用JavaScript语言编写,主要用于分析应用的性能和用户行为,模仿/击发被请求的事件,利用它可以完成对被测应用的简单的UI测试及相关功能测试. 一. 简单的录制脚本 打开xcode,这里用我为我家亲爱

Android ExpandableListView 带有Checkbox的简单应用

expandablelistview2_groups.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&qu

Android ExpandableListView的简单应用

Expandablelistview1Activity.java package com.wangzhu.demoexpandablelistview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.widg

一个简单的主机管理模拟程序

最近写的一个小练习,主要是把前面学的东西整合一下.写了一个简单的主机管理界面,主要是练习以下知识点: Session和Cookie进行登录验证(装饰器) 数据库的基本操作 (单表,1对多,多对多) Form的简单使用实现验证 Bootstrap模板写个简单界面 自定义分页 信号,中间件,CSRF,模板语言,JavaScript,AJAX等等 界面比较low,毕竟不是专业的. 附件里面是Django的源代码,3个文件放在一起winrar解压就可以打开