精华内容
下载资源
问答
  • 先看一下Android悬浮按钮点击回到顶部的效果: FloatingActionButton是Design Support库中提供的一个控件,这个控件可以轻松实现悬浮按钮的效果 首先,要在项目中使用这个悬浮按钮就要先把design这个包导入项目 ...
  • Android 悬浮按钮实现

    千次下载 热门讨论 2014-12-05 17:24:05
    Android 悬浮按钮 悬浮框 浮动按钮
  • Android 悬浮按钮 悬浮框 浮动按钮Android 悬浮按钮 悬浮框 浮动按钮Android 悬浮按钮 悬浮框 浮动按钮Android 悬浮按钮 悬浮框 浮动按钮
  • android 悬浮按钮切换页面。 点击窗口,显示按钮。然后按钮慢慢消失。 点按钮,切换页面。
  • Android悬浮菜单按钮FloatingActionButton实现,可直接拿到项目中集成使用,希望给大家带来帮助
  • Android悬浮按钮

    2018-12-11 14:10:18
    Android悬浮按钮,可自由移动,可以随手势拖动到屏幕任意位置 主要是通过android中的WindowManager中的addview()把view加载进来,可设置网络图片,带有旋转动画
  • android悬浮按钮

    千次下载 热门讨论 2015-01-15 14:20:54
    android 悬浮按钮,本功能在android 5.0实现是很容易的 但是在现有的版本上只能用代码堆积了。
  • 主要介绍了Android中FloatingActionButton实现悬浮按钮实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 主要为大家详细介绍了Android悬浮按钮实现点击并显示/隐藏多功能列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 悬浮按钮FloatingActionButton是Android 5.0系统添加的新控件,FloatingActionButton是继承至ImageView,所以FloatingActionButton拥有ImageView的所有属性。本文讲解的是一个实现了可拖拽的悬浮按钮,并为此添加了...
  • Android 悬浮按钮 两种实现方法

    千次阅读 2019-10-23 10:09:16
    最近android中有很多新的设计规范被引入,最流行的莫过于被称作Promoted Actions的设计了,Promoted Actions是指一种操作按钮,它不是放在actionbar中,而是直接在可见的UI布局中(当然这里的UI指的是setContentView...

    最近android中有很多新的设计规范被引入,最流行的莫过于被称作Promoted Actions的设计了,Promoted Actions是指一种操作按钮,它不是放在actionbar中,而是直接在可见的UI布局中(当然这里的UI指的是setContentView所管辖的范围)。因此它更容易在代码中被获取到(试想如果你要在actionbar中获取一个菜单按钮是不是很难?),Promoted Actions往往主要用于一个界面的主要操作,比如在email的邮件列表界面,promoted action可以用于接受一个新邮件。promoted action在外观上其实就是一个悬浮按钮,更常见的是漂浮在界面上的圆形按钮,一般我直接将promoted action称作悬浮按钮,英文名称Float Action Button 简称(FAB,不是FBI哈)。

    float action button是android l中的产物,但是我们也可以在更早的版本中实现。假设我这里有一个列表界面,我想使用floataction button代表添加新元素的功能,界面如下:
    在这里插入图片描述
    http://a3ab771892fd198a96736e50.javacodegeeks.netdna-cdn.com/wp-content/uploads/2014/09/android_floating_action_button_14.png

    要实现float action button可以有多种方法,一种只适合android L,另外一种适合任意版本。

    用ImageButton实现
    这种方式其实是在ImageButton的属性中使用了android L才有的一些特性:

    <ImageButton
    
    android:layout_width="56dp"
    
    android:layout_height="56dp"
    
    android:src="@drawable/plus"
    
    android:layout_alignParentBottom="true"
    
    android:layout_alignParentRight="true"
    
    android:layout_marginRight="16dp"
    
    android:layout_marginBottom="16dp"
    
    android:tint="@android:color/white"
    
    android:id="@+id/fab"
    
    android:elevation="1dp"
    
    android:background="@drawable/ripple"
    
    android:stateListAnimator="@anim/fab_anim"
    
    />
    

    仔细一点,你会发现我们将这个ImageButton放到了布局的右下角,为了实现float action button应该具备的效果,需要考虑以下几个方面:

    ·Background

    ·Shadow

    ·Animation

    背景上我们使用ripple drawable来增强吸引力。注意上面的xml代码中我们将background设置成了@drawable/ripple ,ripple drawable的定义如下:

    <ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    
        <item>
    
            <shape android:shape="oval">
    
                <solid android:color="?android:colorAccent"
    />
    
            </shape>
    
        </item>
    
    </ripple>
    

    既然是悬浮按钮,那就需要强调维度上面的感觉,当按钮被按下的时候,按钮的阴影需要扩大,并且这个过程是渐变的,我们使用属性动画去改变translatioz。

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
    
            android:state_enabled="true"
    
            android:state_pressed="true">
    
            <objectAnimator
    
                android:duration="@android:integer/config_shortAnimTime"
    
                android:propertyName="translationZ"
    
                android:valueFrom="@dimen/start_z"
    
                android:valueTo="@dimen/end_z"
    
                android:valueType="floatType"
    />
    
        </item>
    
        <item>
    
            <objectAnimator
    
                android:duration="@android:integer/config_shortAnimTime"
    
                android:propertyName="translationZ"
    
                android:valueFrom="@dimen/end_z"
    
                android:valueTo="@dimen/start_z"
    
                android:valueType="floatType"
    />
    
        </item>
    
    </selector>
    

    使用自定义控件的方式实现悬浮按钮
    这种方式不依赖于android L,而是码代码。

    首先定义一个这样的类:

    public class CustomFAB extends ImageButton {
    
    ...
    
    }
    然后是读取一些自定义的属性(假设你了解styleable的用法)
    
    private void init(AttributeSet attrSet) {
    
        Resources.Theme theme = ctx.getTheme();
    
        TypedArray arr = theme.obtainStyledAttributes(attrSet, R.styleable.FAB, 0, 0);
    
        try
    {
    
            setBgColor(arr.getColor(R.styleable.FAB_bg_color, Color.BLUE));
    
            setBgColorPressed(arr.getColor(R.styleable.FAB_bg_color_pressed, Color.GRAY));
    
            StateListDrawable sld = new
    StateListDrawable();
    
            sld.addState(new
    int[] {android.R.attr.state_pressed}, createButton(bgColorPressed));
    
            sld.addState(new
    int[] {}, createButton(bgColor));
    
            setBackground(sld);
    
        }
    
        catch(Throwable t) {}
    
        finally {
    
             arr.recycle();
    
        }
    
    }
    

    在xml中我们需要加入如下代码,一般是在attr.xml文件中。

    <?xml version="1.0"
    encoding="utf-8"?>
    
    <resources>
    
        <declare-styleable name="FAB">
    
            <!-- Background color -->
    
            <attr name="bg_color"
    format="color|reference"/>
    
            <attr name="bg_color_pressed"
    format="color|reference"/>
    
        </declare-styleable>
    
    </resources>
    

    使用StateListDrawable来实现不同状态下的背景

    
    private Drawable createButton(int color) {
    
        OvalShape oShape = new
    OvalShape();
    
        ShapeDrawable sd = new
    ShapeDrawable(oShape);
    
        setWillNotDraw(false);
    
        sd.getPaint().setColor(color);
    
        OvalShape oShape1 = new
    OvalShape();
    
        ShapeDrawable sd1 = new
    ShapeDrawable(oShape);
    
        sd1.setShaderFactory(new
    ShapeDrawable.ShaderFactory() {
    
            @Override
    
            public Shader resize(int width, int height) {
    
                LinearGradient lg = new
    LinearGradient(0,0,0, height,
    
                new
    int[] {
    
                    Color.WHITE,
    
                    Color.GRAY,
    
                    Color.DKGRAY,
    
                    Color.BLACK
    
                }, null, Shader.TileMode.REPEAT);
    
                return
    lg;
    
            }
    
        });
    
        LayerDrawable ld = new
    LayerDrawable(new
    Drawable[] { sd1, sd });
    
        ld.setLayerInset(0, 5, 5, 0, 0);
    
        ld.setLayerInset(1, 0, 0, 5, 5);
    
        return
    ld;
    
    }
    

    最后将控件放xml中:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        xmlns:custom="http://schemas.android.com/apk/res/com.survivingwithandroid.fab"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:paddingLeft="@dimen/activity_horizontal_margin"
    
        android:paddingRight="@dimen/activity_horizontal_margin"
    
        android:paddingTop="@dimen/activity_vertical_margin"
    
        android:paddingBottom="@dimen/activity_vertical_margin"
    
        tools:context=".MyActivity">
    
    ...
    
        <com.survivingwithandroid.fab.CustomFAB
    
            android:layout_width="56dp"
    
            android:layout_height="56dp"
    
            android:src="@android:drawable/ic_input_add"
    
            android:layout_alignParentBottom="true"
    
            android:layout_alignParentRight="true"
    
            android:layout_marginRight="16dp"
    
            android:layout_marginBottom="16dp"
    
            custom:bg_color="@color/light_blue"
    
            android:tint="@android:color/white"
    
         />
    
    </RelativeLayout>
    
    展开全文
  • Android悬浮菜单按钮FloatingActionButton实现,可直接拿到项目中集成使用。希望大家多多关注我的博客:https://blog.csdn.net/k571039838k 谢谢大家
  • 主要为大家详细介绍了Android利用WindowManager生成悬浮按钮及悬浮菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • android悬浮按钮的使用

    2019-10-04 18:19:51
    首先准备一张图片保存在drawable下 在activity_main.xml下 <?xml version="1.0" encoding="utf-8"?...android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/and...

     

    首先准备一张图片保存在drawable下

    在activity_main.xml下

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/draw_lay"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolBar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                />
            <!--下面是悬浮按钮-->
            <android.support.design.widget.FloatingActionButton
                android:id="@+id/fab"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|end"
                android:layout_margin="16dp"
                android:src="@drawable/done"
                app:elevation="8dp"/><!--设置高度值-->
        </FrameLayout>
        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            app:menu="@menu/navmenu"
            app:headerLayout="@layout/navhead"/>
    
    </android.support.v4.widget.DrawerLayout>

    在MainActivity中添加响应事件

    在下面代码中使用了SnackBar,这个控件可以弹出一个可与用户交互的消息,创建SnackBar三个参数分别是:view,内容,时长

     FloatingActionButton fab=(FloatingActionButton)findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Snackbar.make(v,"你点击了悬浮按钮",Snackbar.LENGTH_SHORT).setAction("Undo",new View.OnClickListener(){
                        @Override
                        public void onClick(View v){
                            Toast.makeText(MainActivity.this,"你点击了悬浮按钮中的Undo按钮",Toast.LENGTH_SHORT).show();
                        }
    
                    }).show();

    在这种情况下SnackBar弹出的内容就会自动挡住悬浮按钮,此时我们将xml布局中的FrameLayout改为<android.support.design.widget.CoordinatorLayout

    这是Material Design中提供一种布局在平常情况下与FrameLayout差异不大,但是他可以监控所有子控件的事件,然后为我们做出合理的相应

     

    转载于:https://www.cnblogs.com/837634902why/p/10628135.html

    展开全文
  • 悬浮按钮效果如下图所示: 步骤1:引用 compile 'com.laocaixw.suspendbuttonlayout:suspendbuttonlayout:1.0.3' 步骤2:xml布局 <?xml version=1.0 encoding=utf-8?> <LinearLayout android:layout_...
  • Android滚动悬浮按钮

    2015-03-06 17:45:54
    listView recyclerView scrollView滚动控件,向下滚隐藏悬浮按钮,回滚显示按钮
  • Android特效——悬浮FloatingActionButton按钮,项目可以直接运行。
  • 前段时间在看属性动画,恰巧这个按钮的效果可以用属性动画实现,所以就来实践实践。效果基本出来了,大家可以自己去完善。 首先看一下效果图: 我们看到点击FloatingActionButton后会展开一些item,然后会有一个...
  • android悬浮按钮组件

    千次阅读 2017-03-28 20:58:30
    转载自博客园 纯属浪费8818。一个好玩的组件,FloatingActionButton, design包下的一个空间。 使用前需要添加依赖:compile '...--一个悬浮按钮控件FAB--> <android.support.design.widget.FloatingActionButto

    转载自博客园 纯属浪费8818。

    一个好玩的组件,FloatingActionButton, design包下的一个空间。
    使用前需要添加依赖:

    compile 'com.android.support:design:25.2.0'

    布局xml文件中:

    <!--一个悬浮的按钮控件FAB-->
        <android.support.design.widget.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/margin10"
            app:backgroundTint="#6eed5b"
            app:rippleColor="#e7aa59"
            app:elevation="10dp"
            app:pressedTranslationZ="5dp"
            app:fabSize="mini"
            android:src="@mipmap/float_list_icon"/>

    下面介绍一下其中的一些属性,

    1) app:backgroundTint - 设置背景颜色。
    2) app:rippleColor - 设置点击时的背景颜色。
    3) app:borderWidth - 该属性如果不设置0dp,那么在4.1的sdk上FAB会显示为正方形,而且在5.0以后的 sdk没有阴影效果。所以设置为borderWidth=”0dp”。
    4) app:elevation - 默认状态下阴影大小。
    5) app:pressedTranslationZ - 点击时的阴影大小。
    6) app:fabSize - 设置大小,该属性有两个值,分别为normal和mini,对应的大小分别为56dp和40dp。
    7) src - 设置图标,Google建议符合Design设计的该图标大小为24dp。
    推荐一个图标网站,哈哈: http://www.iconfont.cn/ 阿里巴巴矢量图表库
    8) app:layout_anchor - 设置锚点,即以哪个控件为参照点设置位置。
    9) app:layout_anchorGravity - 设置相对锚点的位置,值有 bottom、center、right、left、top等。

    /………….后记: 关于app:pressedTranslationZ属性,是指阴影在Z轴,即垂直方向上的变化,如果希望点击按钮的时候,阴影变小,该属性设置为负值即可。…………….Come On!………/

    展开全文
  • 主要为大家详细介绍了Android自定义APP全局悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • android桌面悬浮按钮

    热门讨论 2014-01-05 12:24:13
    看 FloatsWindowView,MainActivity两个类就行了。 android桌面悬浮框,可以拖动,仿iphone的 那个touch助手
  • Android 中FloatingActionButton(悬浮按钮)实例详解一、介绍这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性二、使用准备, 在as 的 build.grade文件中写上compile '...

    Android 中FloatingActionButton(悬浮按钮)实例详解

    一、介绍

    这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性

    二、使用准备, 在as 的 build.grade文件中写上

    compile 'com.android.support:design:22.2.0'

    三、使用说明

    android:id="@+id/floatingActionButton"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_centerInParent="true"

    android:src="@mipmap/ok"

    app:borderWidth="0dp"

    app:backgroundTint="#FF4011"

    app:rippleColor="#33728dff"

    app:elevation="8dp"

    app:pressedTranslationZ="16dp"

    />

    可以看到我们使用了app属性,则需要在根容器中添加这个属性。

    属性介绍:

    1、app:borderWidth=""------------------边框宽度,通常设置为0 ,用于解决Android 5.X设备上阴影无法正常显示的问题

    2、app:backgroundTint=""---------------按钮的背景颜色,不设置,默认使用theme中colorAccent的颜色

    3、app:rippleColor=""--------------------点击的边缘阴影颜色

    4、app:elevation=""----------------------边缘阴影的宽度

    5、app:pressedTranslationZ="16dp"-----点击按钮时,按钮边缘阴影的宽度,通常设置比elevation的数值大

    效果图:

    bcd649fb4b89cd6576ce181b561fc003.gif

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    展开全文
  • 简介最近项目中需要做一个可展开的悬浮按钮,类似微信的浮窗功能。当一段时间不按按钮的时候,按钮能自动贴边,就像IOS的控制中心的功能。在Github上找了半天,找到一个大致符合要求的:FloatMenu,他里面写好了一个...
  • 悬浮菜单按钮

    2018-05-15 14:12:41
    Android 定义悬浮菜单按钮,点击菜单按钮,竖向展示,由下到上升起。。修改布局控件属性支持多样式展开,扇形、圆形、多边。。。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,534
精华内容 3,013
关键字:

android悬浮按钮