FloatingActionButton增强版一个按钮跳出多个按钮第三方开源之FloatingActionButton_Android

FloatingActionButton项目在github上的主页:https://github.com/futuresimple/android-floating-action-button

FloatingActionButton使用简单,而且可以自定义颜色、大小、背景图片

项目构造:

下面是demo的代码(主要见sample):

布局:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:fab="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@color/background" >
  <com.getbase.floatingactionbutton.FloatingActionButton
   android:id="@+id/pink_icon"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="dp"
   fab:fab_colorNormal="@color/pink"
   fab:fab_colorPressed="@color/pink_pressed"
   fab:fab_icon="@drawable/ic_fab_star" />
  <TextView
   style="@style/menu_labels_style"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_above="@id/pink_icon"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="dp"
   android:text="Text below button" />
  <com.getbase.floatingactionbutton.AddFloatingActionButton
   android:id="@+id/semi_transparent"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_above="@id/pink_icon"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="dp"
   fab:fab_colorNormal="@color/blue_semi_transparent"
   fab:fab_colorPressed="@color/blue_semi_transparent_pressed"
   fab:fab_plusIconColor="@color/white" />
  <com.getbase.floatingactionbutton.FloatingActionButton
   android:id="@+id/setter"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_above="@id/semi_transparent"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="dp" />
  <com.getbase.floatingactionbutton.AddFloatingActionButton
   android:id="@+id/normal_plus"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"
   android:layout_alignParentLeft="true"
   android:layout_alignParentStart="true"
   android:layout_marginBottom="dp"
   android:layout_marginLeft="dp"
   android:layout_marginStart="dp"
   fab:fab_colorNormal="@color/white"
   fab:fab_colorPressed="@color/white_pressed"
   fab:fab_plusIconColor="@color/half_black" />
  <com.getbase.floatingactionbutton.FloatingActionsMenu
   android:id="@+id/right_labels"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_above="@id/normal_plus"
   android:layout_alignParentLeft="true"
   android:layout_alignParentStart="true"
   android:layout_marginLeft="dp"
   android:layout_marginStart="dp"
   fab:fab_addButtonColorNormal="@color/white"
   fab:fab_addButtonColorPressed="@color/white_pressed"
   fab:fab_addButtonPlusIconColor="@color/half_black"
   fab:fab_addButtonSize="mini"
   fab:fab_labelStyle="@style/menu_labels_style"
   fab:fab_labelsPosition="right" >
   <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="Label on the right" />
   <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="Another one on the right" />
  </com.getbase.floatingactionbutton.FloatingActionsMenu>
  <com.getbase.floatingactionbutton.FloatingActionsMenu
   android:id="@+id/multiple_actions"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"
   android:layout_alignParentEnd="true"
   android:layout_alignParentRight="true"
   android:layout_marginBottom="dp"
   android:layout_marginEnd="dp"
   android:layout_marginRight="dp"
   fab:fab_addButtonColorNormal="@color/white"
   fab:fab_addButtonColorPressed="@color/white_pressed"
   fab:fab_addButtonPlusIconColor="@color/half_black"
   fab:fab_labelStyle="@style/menu_labels_style" >
   <com.getbase.floatingactionbutton.FloatingActionButton
    android:id="@+id/action_a"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fab:fab_colorNormal="@color/white"
    fab:fab_colorPressed="@color/white_pressed"
    fab:fab_title="Action A" />
   <com.getbase.floatingactionbutton.FloatingActionButton
    android:id="@+id/action_b"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fab:fab_colorNormal="@color/white"
    fab:fab_colorPressed="@color/white_pressed"
    fab:fab_title="Action with a very long name that won\'t fit on the screen" />
  </com.getbase.floatingactionbutton.FloatingActionsMenu>
  <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_marginEnd="dp"
   android:layout_marginRight="dp"
   android:layout_marginTop="dp"
   fab:fab_addButtonColorNormal="@color/white"
   fab:fab_addButtonColorPressed="@color/white_pressed"
   fab:fab_addButtonPlusIconColor="@color/half_black"
   fab:fab_addButtonSize="mini"
   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" />
   <com.getbase.floatingactionbutton.FloatingActionButton
    android:id="@+id/button_remove"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fab:fab_colorNormal="@color/white"
    fab:fab_colorPressed="@color/white_pressed"
    fab:fab_title="Click to remove" />
   <com.getbase.floatingactionbutton.FloatingActionButton
    android:id="@+id/button_gone"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fab:fab_colorNormal="@color/white"
    fab:fab_colorPressed="@color/white_pressed" />
   <com.getbase.floatingactionbutton.FloatingActionButton
    android:id="@+id/action_enable"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fab:fab_colorNormal="@color/white"
    fab:fab_colorPressed="@color/white_pressed"
    fab:fab_title="Set bottom menu enabled/disabled" />
  </com.getbase.floatingactionbutton.FloatingActionsMenu>
  <com.getbase.floatingactionbutton.FloatingActionsMenu
   android:id="@+id/multiple_actions_left"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentTop="true"
   android:layout_marginEnd="dp"
   android:layout_marginRight="dp"
   android:layout_marginTop="dp"
   android:layout_toLeftOf="@+id/multiple_actions_down"
   android:layout_toStartOf="@+id/multiple_actions_down"
   fab:fab_addButtonColorNormal="@color/white"
   fab:fab_addButtonColorPressed="@color/white_pressed"
   fab:fab_addButtonPlusIconColor="@color/half_black"
   fab:fab_addButtonSize="mini"
   fab:fab_addButtonStrokeVisible="false"
   fab:fab_expandDirection="left" >
   <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" />
   <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" />
   <com.getbase.floatingactionbutton.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone"
    fab:fab_colorNormal="@color/white"
    fab:fab_colorPressed="@color/white_pressed"
    fab:fab_size="mini" />
  </com.getbase.floatingactionbutton.FloatingActionsMenu>
  <com.getbase.floatingactionbutton.FloatingActionButton
   android:id="@+id/setter_drawable"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_above="@id/setter"
   android:layout_centerHorizontal="true" />
 </RelativeLayout> 

JAVA代码:

 package com.getbase.floatingactionbutton.sample;
 import com.getbase.floatingactionbutton.FloatingActionButton;
 import com.getbase.floatingactionbutton.FloatingActionsMenu;
 import android.app.Activity;
 import android.graphics.drawable.ShapeDrawable;
 import android.graphics.drawable.shapes.OvalShape;
 import android.os.Bundle;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Toast;
 public class MainActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  findViewById(R.id.pink_icon).setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
   Toast.makeText(MainActivity.this, "Clicked pink Floating Action Button", Toast.LENGTH_SHORT).show();
  }
  });
  FloatingActionButton button = (FloatingActionButton) findViewById(R.id.setter);
  button.setSize(FloatingActionButton.SIZE_MINI);
  button.setColorNormalResId(R.color.pink);
  button.setColorPressedResId(R.color.pink_pressed);
  button.setIcon(R.drawable.ic_fab_star);
  button.setStrokeVisible(false);
  final View actionB = findViewById(R.id.action_b);
  FloatingActionButton actionC = new FloatingActionButton(getBaseContext());
  actionC.setTitle("Hide/Show Action above");
  actionC.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
   actionB.setVisibility(actionB.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
  }
  });
  final FloatingActionsMenu menuMultipleActions = (FloatingActionsMenu) findViewById(R.id.multiple_actions);
  menuMultipleActions.addButton(actionC);
  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);
  }
  });
  ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
  drawable.getPaint().setColor(getResources().getColor(R.color.white));
  ((FloatingActionButton) findViewById(R.id.setter_drawable)).setIconDrawable(drawable);
  final FloatingActionButton actionA = (FloatingActionButton) findViewById(R.id.action_a);
  actionA.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View view) {
   actionA.setTitle("Action A clicked");
  }
  });
  // Test that FAMs containing FABs with visibility GONE do not cause crashes
  findViewById(R.id.button_gone).setVisibility(View.GONE);
  final FloatingActionButton actionEnable = (FloatingActionButton) findViewById(R.id.action_enable);
  actionEnable.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View view) {
   menuMultipleActions.setEnabled(!menuMultipleActions.isEnabled());
  }
  });
  FloatingActionsMenu rightLabels = (FloatingActionsMenu) findViewById(R.id.right_labels);
  FloatingActionButton addedOnce = new FloatingActionButton(this);
  addedOnce.setTitle("Added once");
  rightLabels.addButton(addedOnce);
  FloatingActionButton addedTwice = new FloatingActionButton(this);
  addedTwice.setTitle("Added twice");
  rightLabels.addButton(addedTwice);
  rightLabels.removeButton(addedTwice);
  rightLabels.addButton(addedTwice);
 }
 } 

colors:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <color name="black_semi_transparent">#B2000000</color>
 <color name="background">#e5e5e5</color>
 <color name="half_black">#808080</color>
 <color name="white">#fafafa</color>
 <color name="white_pressed">#f1f1f1</color>
 <color name="pink">#e91e63</color>
 <color name="pink_pressed">#ec407a</color>
 <color name="blue_semi_transparent">#805677fc</color>
 <color name="blue_semi_transparent_pressed">#80738ffe</color>
</resources>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索floatingactionbutton
floating_button
floatingactionbutton、floatingbutton、添加floatingbutton、bubble butt、brazil butt lift,以便于您获取更多的相关知识。

时间: 2025-01-01 14:53:04

FloatingActionButton增强版一个按钮跳出多个按钮第三方开源之FloatingActionButton_Android的相关文章

第三方开源Android TickPlusDrawable状态可以通过动画切换的按钮_Android

先给大家展示下效果图,对第三方开源 android tickplusdrawable相关知识感兴趣的朋友一起学习吧. Android tickplusdrawable(TickPlusDrawable)是一个状态可以通过动画切换的按钮,Android tickplusdrawable(TickPlusDrawable)在github上的项目主页是:https://github.com/flavienlaurent/tickplusdrawable 测试代码: 布局: <FrameLayout x

Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)_Linux

前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时间有点过长,无法做到严密防护.于是稍微改进了下代码,现在简单的分享下! 一.Shell代码 #

将表里的数据批量生成INSERT语句的存储过程 增强版_MsSql

有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件来生成INSERT语句的,只有借助第三方工具(third party tools) 这种脚本网上也有很多,但是网上的脚本还是欠缺一些规范和功能,例如:我只想导出特定查询条件的数据,网上的脚本都是导出全表数据 如果表很大,对性能会有很大影响 这里有一个存储过程(适用于SQLServer2005 或以上版本) -- Author: <桦仔> -- Blog

红米Note增强版怎么预约?红米Note在哪预约购买

 1.我们在浏览器打开"小米官网"然后在主导航上点击"红米"之后我们再找到"红米Note"点击它进入. 2.好了在打开界面会看到右上角有一个"预约购买"按钮我们点击它. 3.如果之前没登录我们先登录小米帐号,如果没有注册一个小米账户. 4.登录成功之后我们会看到有一个"红米Note增加版"我们点击它之后再点击"立即预约"按钮. 5.现在就进入到了红米Note增强版预约界面了,现在我们点击

复古相机增强版:拍摄不同风格的老照片

这款趣味复古相机的特点就是让你的手机镜头缩小到针孔般大小来进行拍摄,而且拍摄所形成的老派风格照片绝对让你赞不绝口.软件共包含了5款不同风格的老式相机,每款相机所搭配的照片风格也各不相同.照片风格从老式的电影胶片效果到黑白交替为主.Lomo等.复古相机加强版Retro Camera Plus(TechWeb配图)评测环境界面及按键初次进入复古相机,会显示一个简单的提示界面,复古相机的操作很简单,没有一般相机的白平衡.亮度对比度等参数的设置,整个界面上只有三个主要按钮:拍照快门.相册键和相机切换键.

微软推出IE10 for Win7增强版

前几天Windows 7平台用户终于可以抛弃还是预览版本的IE浏览器,微软正式推出了Windows 7平台的IE 10.今天微软还发布了一个"增强版"IE 10,目前已经开放下载,并默认带来了Bing和MSN.     在微软的官方IE博客上称:"增强版IE10能够帮助消费者非常方便的链接到MSN和Bing上,使用Bing作为你的默认搜索引擎,MSN作为你的默认首页.增强版能够带来更快速度,更加安全的保护知己,同时针对触控设备进行了特别的优化." IE10 for

用VC++开发WinPopup的增强版

在Internet Explorer 中,微软带有两个很好的局域网通信工具:Chat 和NetMeeting,它们能使局域网中的用户通过互发消息文本.电子白板,甚至语音和视频图像进行交流,但是它们都需要指定一个服务器才能正常工作.在通常由若干台Windows 95/98 组成的对等网中,真正适用的消息传送工具仍然是微软通过网络组件安装的WinPopup.EXE,但微软好像忘记了这个小程序,使它从最初发行到现在依然是老样子,程序界面跟不上时代不说,每次只能发送38 个字节的消息文本,消息不能保存等

MySQL 5.7增强版Semisync Replication性能优化

  这篇文章主要介绍了MySQL 5.7增强版Semisync Replication性能优化,本文着重讲解支持发送binlog和接受ack的异步化.支持在事务commit前等待ACK两项内容,需要的朋友可以参考下 一 前言 前文 介绍了5.5/5.6 版本的MySQL semi sync 基础原理和配置,随着MySQL 5.7 的发布,新版本的MySQL修复了semi sync 的一些bug 并且增强了功能. 支持发送binlog和接受ack的异步化; 支持在事务commit前等待ACK; 在

小米盒子增强版开箱:首款4K高清盒子

     在这周三的小米发布会上,除了两款路由正式登场,还有就是号称"首款4K超高清网络机顶盒"的小米盒子增强版了.增强版强在何处,来看宅客的真机图. 小米盒子增强版的硬件配置: CPU:晶晨S802 四核 内存:2GB DDR3 存储空间:4GB 无线:802.11AC双频Wi-Fi.蓝牙 4.0 接口:USB 2.0*1.micro USB*1.TF卡槽*1.HDMI*1.AV*1.DC电源接口*1 系统版本:MIUI TV版(基于Android 4.4.2) 输出画面:最高4K(