AndroID中floatingActionbutton(悬浮按钮) 使用不是特别多,常规性APP应用中很少使用该控件. 当然他的使用方法其实很简单.直接上代码:
xml:
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"> <CheckBox androID:ID="@+ID/cbDelay" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="10dp" androID:layout_margintop="10dp" androID:text="delay" /> <relativeLayout androID:ID="@+ID/rlAddBill" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentStart="true" androID:layout_below="@+ID/fab01Add" androID:layout_marginleft="10dp" androID:background="#00000000" androID:visibility="gone"> <linearLayout androID:ID="@+ID/ll01" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentStart="true" androID:layout_below="@+ID/ll02" androID:orIEntation="horizontal"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_gravity="center_vertical" androID:layout_toleftOf="@+ID/miniFab01" androID:layout_weight="1" androID:gravity="right" androID:paddingBottom="5dp" androID:text="销售单" androID:textcolor="@androID:color/white" androID:textSize="15sp" androID:visibility="gone" /> <androID.support.design.Widget.floatingActionbutton androID:ID="@+ID/miniFab01" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginRight="25dp" androID:src="@mipmap/btn_play_normal" app:backgroundTint="@color/colorAccent" app:elevation="5dp" app:fabSize="mini" /> </linearLayout> <linearLayout androID:ID="@+ID/ll02" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentStart="true" androID:layout_below="@+ID/ll03" androID:orIEntation="horizontal"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_gravity="center_vertical" androID:layout_toleftOf="@+ID/miniFab02" androID:layout_weight="1" androID:gravity="right" androID:paddingBottom="5dp" androID:text="销售退货" androID:textcolor="@androID:color/white" androID:textSize="15sp" androID:visibility="gone" /> <androID.support.design.Widget.floatingActionbutton androID:ID="@+ID/miniFab02" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginRight="25dp" androID:src="@mipmap/btn_play_normal" app:backgroundTint="@color/colorAccent" app:elevation="5dp" app:fabSize="mini" /> </linearLayout> <linearLayout androID:ID="@+ID/ll03" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentStart="true" androID:layout_alignParenttop="true" androID:orIEntation="horizontal"> <TextVIEw androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_gravity="center_vertical" androID:layout_toleftOf="@+ID/miniFab02" androID:layout_weight="1" androID:gravity="right" androID:paddingBottom="5dp" androID:text="收款单" androID:textcolor="@androID:color/white" androID:textSize="15sp" androID:visibility="gone" /> <androID.support.design.Widget.floatingActionbutton androID:ID="@+ID/miniFab03" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginRight="25dp" androID:src="@mipmap/btn_play_normal" app:backgroundTint="@color/colorAccent" app:elevation="5dp" app:fabSize="mini" /> </linearLayout> </relativeLayout> <androID.support.design.Widget.floatingActionbutton androID:ID="@+ID/fab01Add" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentStart="true" androID:layout_below="@+ID/cbDelay" androID:layout_marginRight="15dp" androID:layout_margintop="22dp" androID:src="@mipmap/btn_play_normal" app:backgroundTint="#31bfcf" app:elevation="5dp" app:fabSize="normal" app:ripplecolor="#e7d161" /></relativeLayout>
MainActivity:
package com.example.liupanpan.floatingactionbuttondemo;import androID.animation.AnimatorInflater;import androID.animation.AnimatorSet;import androID.os.Bundle;import androID.support.design.Widget.floatingActionbutton;import androID.support.v7.app.AppCompatActivity;import androID.vIEw.VIEw;import androID.Widget.CheckBox;import androID.Widget.linearLayout;import androID.Widget.relativeLayout;public class MainActivity extends AppCompatActivity implements VIEw.OnClickListener { private CheckBox cbDelay; private floatingActionbutton fab01Add; private boolean isAdd = false; private relativeLayout rlAddBill; private int[] llID = new int[]{R.ID.ll01,R.ID.ll02,R.ID.ll03}; private linearLayout[] ll = new linearLayout[llID.length]; private int[] fabID = new int[]{R.ID.miniFab01,R.ID.miniFab02,R.ID.miniFab03}; private floatingActionbutton[] fab = new floatingActionbutton[fabID.length]; private AnimatorSet addBillTranslate1; private AnimatorSet addBillTranslate2; private AnimatorSet addBillTranslate3; private AnimatorSet addBillTranslate4; private AnimatorSet addBillTranslate5; private AnimatorSet addBillTranslate6; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.basic_fab_activity); initVIEw(); setDefaultValues(); bindEvents(); } private voID initVIEw() { cbDelay = (CheckBox) findVIEwByID(R.ID.cbDelay); fab01Add = (floatingActionbutton) findVIEwByID(R.ID.fab01Add); rlAddBill = (relativeLayout) findVIEwByID(R.ID.rlAddBill); for (int i = 0; i < llID.length; i++) { ll[i] = (linearLayout) findVIEwByID(llID[i]); } for (int i = 0; i < fabID.length; i++) { fab[i] = (floatingActionbutton) findVIEwByID(fabID[i]); } } private voID setDefaultValues() { addBillTranslate1 = (AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.add_bill_anim); addBillTranslate2 = (AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.add_bill_anim); addBillTranslate3 = (AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.add_bill_anim);// addBillTranslate4 = (AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.add_bill_anim);// addBillTranslate5 = (AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.add_bill_anim);// addBillTranslate6 = (AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.add_bill_anim); } private voID bindEvents() { fab01Add.setonClickListener(this); for (int i = 0; i < fabID.length; i++) { fab[i].setonClickListener(this); } } @OverrIDe public voID onClick(VIEw v) { switch (v.getID()) { case R.ID.fab01Add: fab01Add.setimageResource(isAdd ? R.mipmap.ic_launcher_round : R.mipmap.ic_launcher_round); isAdd = !isAdd; rlAddBill.setVisibility(isAdd ? VIEw.VISIBLE : VIEw.GONE); if (isAdd) { addBillTranslate1.setTarget(ll[0]); addBillTranslate1.start(); addBillTranslate2.setTarget(ll[1]); addBillTranslate2.setStartDelay(cbDelay.isChecked() ? 50 : 0); addBillTranslate2.start(); addBillTranslate3.setTarget(ll[2]); addBillTranslate3.setStartDelay(cbDelay.isChecked() ? 100 : 0); addBillTranslate3.start();// addBillTranslate4.setTarget(ll[3]);// addBillTranslate4.setStartDelay(cbDelay.isChecked() ? 250 : 0);// addBillTranslate4.start();// addBillTranslate5.setTarget(ll[4]);// addBillTranslate5.setStartDelay(cbDelay.isChecked() ? 300 : 0);// addBillTranslate5.start();// addBillTranslate6.setTarget(ll[5]);// addBillTranslate6.setStartDelay(cbDelay.isChecked() ? 350 : 0);// addBillTranslate6.start(); } break; case R.ID.miniFab01: hIDeFABMenu(); break; case R.ID.miniFab02: hIDeFABMenu(); break; case R.ID.miniFab03: hIDeFABMenu(); break; default: break; } } private voID hIDeFABMenu() { rlAddBill.setVisibility(VIEw.GONE); fab01Add.setimageResource(R.mipmap.ic_launcher_round); isAdd = false; }}
运行程序,就可以实现当前的效果.问题XML的图片请自己替换一下,demo就不上传了.
效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android中FloatingActionButton实现悬浮按钮实例全部内容,希望文章能够帮你解决Android中FloatingActionButton实现悬浮按钮实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)