Android第三方FloatingActionButton:伴随ListView、RecyclerView、ScrollView滚动滑入滑出

简介: Android第三方FloatingActionButton:伴随ListView、RecyclerView、ScrollView滚动滑入滑出Android在5.


Android第三方FloatingActionButton:伴随ListView、RecyclerView、ScrollView滚动滑入滑出

Android在5.0及以上提供了原生的FloatingActionButton【参考文章1】,然而,github上有一个开源的第三方FloatingActionButton实现,这个第三方的FloatingActionButton有一个特点:伴随Android常见的ListView、RecyclerView、ScrollView这类滚动View上下滚动时候滑入滑出,如图(图来自该项目主页):



Android第三方FloatingActionButton在github上的项目主页是:https://github.com/makovkastar/FloatingActionButton

Android第三方FloatingActionButto使用还是简单,就是导入作为库的时候有些复杂。
现在给出一个例子说明。
首先要写布局文件定义Android第三方FloatingActionButto:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="zhangphil.fab.MainActivity" >

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.melnykov.fab.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_margin="16dip"
        android:src="@drawable/ic_add_new"
        fab:fab_shadow="true"
        fab:fab_type="normal" />

</RelativeLayout>

然后写Java代码:

package zhangphil.fab;

import com.melnykov.fab.FloatingActionButton;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.activity_main);
		
		String[] data=new String[100];
		for(int i=0;i<data.length;i++){
			data[i]="Zhang Phil @CSDN "+i;
		}
		
		ListView listView=(ListView) findViewById(R.id.listView);
		
		ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
		listView.setAdapter(adapter);
		
		//附着在ListView,跟随ListView滚动滑入滑出
		FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
		fab.attachToListView(listView);
		fab.setColorPressed(0xffb71c1c);
	}
}


相关文章:
【文章1】《Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout》链接地址:http://blog.csdn.net/zhangphil/article/details/48861371

相关文章
|
8月前
|
Java 开发工具 Android开发
如何在Eclipse中查看Android源码或者第三方组件包源码(转)
如何在Eclipse中查看Android源码或者第三方组件包源码(转)
66 4
|
4月前
|
Android开发 开发者 索引
Android实战经验之如何使用DiffUtil提升RecyclerView的刷新性能
本文介绍如何使用 `DiffUtil` 实现 `RecyclerView` 数据集的高效更新,避免不必要的全局刷新,尤其适用于处理大量数据场景。通过定义 `DiffUtil.Callback`、计算差异并应用到适配器,可以显著提升性能。同时,文章还列举了常见错误及原因,帮助开发者避免陷阱。
314 9
|
4月前
|
存储 缓存 Android开发
Android RecyclerView 缓存机制深度解析与面试题
本文首发于公众号“AntDream”,详细解析了 `RecyclerView` 的缓存机制,包括多级缓存的原理与流程,并提供了常见面试题及答案。通过本文,你将深入了解 `RecyclerView` 的高性能秘诀,提升列表和网格的开发技能。
85 8
|
8月前
|
机器学习/深度学习 Java Shell
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
758 0
|
8月前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
1109 0
|
5月前
|
存储 Android开发 开发者
Android项目架构设计问题之定义RecyclerView的ViewHolder如何解决
Android项目架构设计问题之定义RecyclerView的ViewHolder如何解决
59 0
|
5月前
|
数据可视化 Java 数据挖掘
Android项目架构设计问题之设置RecyclerView的LayoutManager如何解决
Android项目架构设计问题之设置RecyclerView的LayoutManager如何解决
42 0
|
7月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
80 2
|
7月前
|
Android开发 Kotlin
Android面试题 之 Kotlin DataBinding 图片加载和绑定RecyclerView
本文介绍了如何在Android中使用DataBinding和BindingAdapter。示例展示了如何创建`MyBindingAdapter`,包含一个`setImage`方法来设置ImageView的图片。布局文件使用`&lt;data&gt;`标签定义变量,并通过`app:image`调用BindingAdapter。在Activity中设置变量值传递给Adapter处理。此外,还展示了如何在RecyclerView的Adapter中使用DataBinding,如`MyAdapter`,在子布局`item.xml`中绑定User对象到视图。关注公众号AntDream阅读更多内容。
110 1
|
7月前
|
前端开发 API Android开发
25. 【Android教程】列表控件 ListView
25. 【Android教程】列表控件 ListView
255 2