Android FloatingActionButton: FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】

简介: Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton): FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】FloatingActionsMenu里面嵌套的普通FloatingActionButton可以在上层Java代码动态删除。


Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton): FloatingActionsMenu向下伸展弹出及删除包含的FloatingActionButton【4】

FloatingActionsMenu里面嵌套的普通FloatingActionButton可以在上层Java代码动态删除。同时,FloatingActionsMenu不仅可以向上弹出伸展,也可以向下弹出伸展。
写一个例子说明。
先写一个布局文件:

<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" >

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/multiple_actions_down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_margin="10dp"
        fab:fab_addButtonColorNormal="@color/white"
        fab:fab_addButtonColorPressed="@color/white_pressed"
        fab:fab_addButtonPlusIconColor="@color/half_black"
        fab:fab_addButtonSize="normal"
        fab:fab_expandDirection="down"
        fab:fab_labelStyle="@style/menu_labels_style" >

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white"
            fab:fab_colorPressed="@color/white_pressed"
            fab:fab_size="mini"
            fab:fab_title="FAB 1" />

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/button_remove"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/blue_semi_transparent"
            fab:fab_colorPressed="@color/blue_semi_transparent_pressed"
            fab:fab_title="点击删除" />

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white"
            fab:fab_colorPressed="@color/white_pressed"
            fab:fab_title="FAB 2" />
    </com.getbase.floatingactionbutton.FloatingActionsMenu>

</RelativeLayout>

其中,

fab:fab_expandDirection="down"
控制FloatingActionsMenu里面包含的FloatingActionButton弹出伸展方向。


Java代码:

package zhangphil.fab;

import com.getbase.floatingactionbutton.FloatingActionButton;
import com.getbase.floatingactionbutton.FloatingActionsMenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//点击删除蓝色的那个按钮
	    final FloatingActionButton removeAction = (FloatingActionButton) findViewById(R.id.button_remove);
	    removeAction.setOnClickListener(new OnClickListener() {
	      @Override
	      public void onClick(View v) {
	        ((FloatingActionsMenu) findViewById(R.id.multiple_actions_down)).removeButton(removeAction);
	      }
	    });
	}
}

代码运行结果如图所示:



(注意:本文中在xml布局文件中涉及到的个别属性如colors,styles等等值,请参考附录文章3)


附录参考文章:
【文章1】《Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton): FloatingActionsMenu【3】》链接地址:http://blog.csdn.net/zhangphil/article/details/50167609
【文章2】《Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【2】》链接地址:http://blog.csdn.net/zhangphil/article/details/50166929
【文章3】《Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【1】》链接地址:http://blog.csdn.net/zhangphil/article/details/50166715

【文章4】《Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout》链接地址:http://blog.csdn.net/zhangphil/article/details/48861371
【文章5】《Android第三方FloatingActionButton:伴随ListView、RecyclerView、ScrollView滚动滑入滑出》链接地址:http://blog.csdn.net/zhangphil/article/details/50135707 

相关文章
|
Android开发 开发者 存储
Android可折叠收缩伸展的Expandable分组RecyclerView:模型抽象和封装(二)
Android可折叠收缩伸展的Expandable分组RecyclerView:模型抽象和封装(二) 如今Android这种可收缩伸展的Expandable RecyclerView是如此常用,在附录1的基础上,我重新把模型进行了抽象和封装,设计了一套新的架构和简洁的使用方式支持这种功能。
3674 0
|
开发工具 Android开发
Android Support Design Library之FloatingActionButton(二)
Android Support Design Library之FloatingActionButton(二)
65 0
Android Support Design Library之FloatingActionButton(二)
|
Android开发
Android Support Design Library之FloatingActionButton(一)
Android Support Design Library之FloatingActionButton(一)
66 0
Android Support Design Library之FloatingActionButton(一)
|
Android开发
Android之FloatingActionButton使用
Android之FloatingActionButton使用
187 0
Android之FloatingActionButton使用
|
Android开发
Android可收缩伸展的Expandable分组RecyclerView
Android可收缩伸展的Expandable分组RecyclerView Android上的可收缩伸展的Expandable RecyclerView第三方开源项目很多,但是在自己的项目引用了这些github上的类似项目后,发现问题和Bug很多,不稳定,无奈之下,自己在RecyclerView基础上写了一个相对稳定、可以收缩伸展Expandable分组RecyclerView。
2141 0
Android-FloatingActionButton
Android-FloatingActionButton android-floating-action-button 我的地址:https://github.
882 0
|
Android开发 开发工具
Android 5.0新控件——FloatingActionButton(悬浮按钮)
Android 5.0新控件——FloatingActionButton(悬浮按钮) FloatingActionButton是5.0以后的新控件,一个悬浮按钮,之所以叫做悬浮按钮,主要是因为自带阴影属性,看上去像是悬浮的而已,其实就可以简单理解成一个带有阴影效果的Button。
1005 0
|
Android开发 UED 数据格式
Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【1】
 Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【1】 由于FloatingActionButton在用户体验上取得了很好的效果,...
710 0
|
Android开发
Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【2】
Android第三方开源FloatingActionButton(com.getbase.floatingactionbutton)【2】 通常FloatingActionButton多用于在屏幕的左、右下角接受添加动作,有感于此com.getbase.floatingactionbutton的作者干脆把这类按钮抽象成一个AddFloatingActionButton。
733 0