Most visited

Recently visited

FloatingActionButton

public class FloatingActionButton
extends ImageButton

java.lang.Object
   ↳ android.view.View
     ↳ android.widget.ImageView
       ↳ android.widget.ImageButton
         ↳ android.support.design.widget.FloatingActionButton


浮动动作按钮用于特殊类型的升级动作。 它们通过浮动在UI上方的圆圈图标加以区分,并具有与变形,启动和传输锚点有关的特殊运动行为。

浮动动作按钮有两种尺寸:默认和迷你。 大小可以通过fabSize属性进行控制。

由于该课程从 ImageView下降,您可以控制通过 setImageDrawable(Drawable)显示的图标。

此视图的背景颜色默认为您的主题colorAccent 如果您希望在运行时更改此设置,则可以通过setBackgroundTintList(ColorStateList)进行setBackgroundTintList(ColorStateList)

Summary

Nested classes

class FloatingActionButton.Behavior

设计用于FloatingActionButton实例的行为。

class FloatingActionButton.OnVisibilityChangedListener

当FloatingActionButton的可见性更改时调用回调。

XML attributes

android.support.design:elevation Elevation value for the FAB

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

android.support.design:fabSize Size for the FAB. 
android.support.design:rippleColor Ripple color for the FAB. 
android.support.design:useCompatPadding Enable compat padding. 

Inherited XML attributes

From class android.widget.ImageView
From class android.view.View

Constants

int SIZE_AUTO

大小将根据窗口大小而改变。

int SIZE_MINI

迷你大小的按钮。

int SIZE_NORMAL

正常大小的按钮。

Inherited constants

From class android.view.View

Inherited fields

From class android.view.View

Public constructors

FloatingActionButton(Context context)
FloatingActionButton(Context context, AttributeSet attrs)
FloatingActionButton(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

ColorStateList getBackgroundTintList()

如果指定,返回应用于背景可绘制的色调。

PorterDuff.Mode getBackgroundTintMode()

如果指定,则返回用于将色调应用于背景可绘制的混合模式。

float getCompatElevation()

返回FloatingActionButton的向后兼容高程。

Drawable getContentBackground()

返回FloatingActionButton的背景,减去任何兼容的影子实现。

boolean getContentRect(Rect rect)

返回 rect实际悬浮动作按钮内容在视图 - 本地坐标中的界限。

int getSize()

返回此按钮的选定大小。

boolean getUseCompatPadding()

返回FloatingActionButton是否会在平台棒棒糖和之后添加内部填充。

void hide()

隐藏按钮。

void hide(FloatingActionButton.OnVisibilityChangedListener listener)

隐藏按钮。

void jumpDrawablesToCurrentState()

在与此视图关联的所有可绘制对象上调用 Drawable.jumpToCurrentState()

boolean onTouchEvent(MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

void setBackgroundColor(int color)

设置此视图的背景颜色。

void setBackgroundDrawable(Drawable background)

此方法已弃用。 改为使用setBackground(Drawable)

void setBackgroundResource(int resid)

将背景设置为给定的资源。

void setBackgroundTintList(ColorStateList tint)

将背景色应用于背景。

void setBackgroundTintMode(PorterDuff.Mode tintMode)

指定用于将 setBackgroundTintList(ColorStateList) }指定的色调应用于背景可绘制的混合模式。

void setCompatElevation(float elevation)

更新FloatingActionButton的向后兼容高程。

void setImageResource(int resId)

设置一个drawable作为这个ImageView的内容。

void setRippleColor(int color)

设置此 FloatingActionButton的波纹颜色。

void setSize(int size)

设置按钮的大小。

void setUseCompatPadding(boolean useCompatPadding)

设置FloatingActionButton是否应该在平台Lollipop和之后添加内部填充以确保所有平台上的尺寸保持一致。

void setVisibility(int visibility)

设置此视图的启用状态。

void show(FloatingActionButton.OnVisibilityChangedListener listener)

显示按钮。

void show()

显示按钮。

Protected methods

void drawableStateChanged()

只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。

void onAttachedToWindow()

这在视图附加到窗口时被调用。

void onDetachedFromWindow()

这是在视图从窗口分离时调用的。

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

Inherited methods

From class android.widget.ImageButton
From class android.widget.ImageView
From class android.view.View
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android.support.design:elevation

FAB的高程值

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

可能是一个整数值,如“ 100 ”。

可能是布尔值,如“ true ”或“ false ”。

可能是颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

可能是浮点值,如“ 1.2 ”。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

可能是一个小数值,它是一个浮点数,并附有%或%p,例如“ 14.5% ”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。

相关方法:

android.support.design:fabSize

FAB的大小。

必须是下列常数值之一。

Constant Value 描述
auto ffffffff A size which will change based on the window size.
mini 1 The mini sized button.
normal 0 The normal sized button.

相关方法:

android.support.design:rippleColor

波纹颜色的FAB。

可以是颜色值,以“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”的形式。

相关方法:

android.support.design:useCompatPadding

启用compat填充。

可能是布尔值,如“ true ”或“ false ”。

相关方法:

Constants

SIZE_AUTO

int SIZE_AUTO

大小将根据窗口大小而改变。 对于小尺寸的窗户(最大屏幕尺寸<470dp),这将选择一个小尺寸的按钮,而对于较大尺寸的窗户,它将选择一个更大的尺寸。

也可以看看:

常量值:-1(0xffffffff)

SIZE_MINI

int SIZE_MINI

迷你大小的按钮。 将始终小于SIZE_NORMAL

也可以看看:

常数值:1(0x00000001)

SIZE_NORMAL

int SIZE_NORMAL

正常大小的按钮。 将始终大于SIZE_MINI

也可以看看:

常量值:0(0x00000000)

Public constructors

FloatingActionButton

FloatingActionButton (Context context)

Parameters
context Context

FloatingActionButton

FloatingActionButton (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

FloatingActionButton

FloatingActionButton (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

Public methods

getBackgroundTintList

ColorStateList getBackgroundTintList ()

如果指定,返回应用于背景可绘制的色调。

Returns
ColorStateList the tint applied to the background drawable

也可以看看:

getBackgroundTintMode

PorterDuff.Mode getBackgroundTintMode ()

如果指定,则返回用于将色调应用于背景可绘制的混合模式。

Returns
PorterDuff.Mode the blending mode used to apply the tint to the background drawable

也可以看看:

getCompatElevation

float getCompatElevation ()

返回FloatingActionButton的向后兼容高程。

相关XML属性:

Returns
float the backward compatible elevation in pixels.

也可以看看:

getContentBackground

Drawable getContentBackground ()

返回FloatingActionButton的背景,减去任何兼容的影子实现。

Returns
Drawable

getContentRect

boolean getContentRect (Rect rect)

返回rect实际悬浮动作按钮内容在视图 - 本地坐标中的界限。 这被定义为任何可见阴影内的任何东西。

Parameters
rect Rect
Returns
boolean true if this view actually has been laid out and has a content rect, else false.

getSize

int getSize ()

返回此按钮的选定大小。

Returns
int one of SIZE_NORMAL, SIZE_MINI or SIZE_AUTO

也可以看看:

getUseCompatPadding

boolean getUseCompatPadding ()

返回FloatingActionButton是否会在平台棒棒糖和之后添加内部填充。

相关XML属性:

Returns
boolean true if FloatingActionButton is adding inner padding on platforms Lollipop and after, to ensure consistent dimensions on all platforms.

也可以看看:

hide

void hide ()

隐藏按钮。

如果视图已经布置,该方法将动画按钮隐藏。

hide

void hide (FloatingActionButton.OnVisibilityChangedListener listener)

隐藏按钮。

如果视图已经布置,该方法将动画按钮隐藏。

Parameters
listener FloatingActionButton.OnVisibilityChangedListener: the listener to notify when this view is hidden

jumpDrawablesToCurrentState

void jumpDrawablesToCurrentState ()

在与此视图关联的所有可绘制对象上调用 Drawable.jumpToCurrentState()

如果有一个StateListAnimator附加到这个视图,也调用 jumpToCurrentState()

onTouchEvent

boolean onTouchEvent (MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

如果使用此方法检测点击操作,建议通过执行并调用performClick()来执行操作。 这将确保一致的系统行为,包括:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled

Parameters
ev MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

setBackgroundColor

void setBackgroundColor (int color)

设置此视图的背景颜色。

Parameters
color int: the color of the background

setBackgroundDrawable

void setBackgroundDrawable (Drawable background)

此方法已弃用。
改为使用setBackground(Drawable)

Parameters
background Drawable

setBackgroundResource

void setBackgroundResource (int resid)

将背景设置为给定的资源。 该资源应该引用可绘制对象或0来移除背景。

Parameters
resid int: The identifier of the resource.

setBackgroundTintList

void setBackgroundTintList (ColorStateList tint)

将背景色应用于背景。 不会修改当前着色模式,默认为SRC_IN

Parameters
tint ColorStateList: the tint to apply, may be null to clear tint

setBackgroundTintMode

void setBackgroundTintMode (PorterDuff.Mode tintMode)

指定用于将setBackgroundTintList(ColorStateList) }指定的色调应用于背景可绘制的混合模式。 默认模式是SRC_IN

Parameters
tintMode PorterDuff.Mode: the blending mode used to apply the tint, may be null to clear tint

setCompatElevation

void setCompatElevation (float elevation)

更新FloatingActionButton的向后兼容高程。

相关XML属性:

Parameters
elevation float: The backward compatible elevation in pixels.

也可以看看:

setImageResource

void setImageResource (int resId)

设置一个drawable作为这个ImageView的内容。

这会在UI线程上进行位图读取和解码,这会导致延迟打嗝。 如果这是一个问题,请考虑使用setImageDrawable(android.graphics.drawable.Drawable)setImageBitmap(android.graphics.Bitmap)BitmapFactory代替。

Parameters
resId int: the resource identifier of the drawable

setRippleColor

void setRippleColor (int color)

设置此 FloatingActionButton的波纹颜色。

在KitKat或更低版本的设备上运行时,我们绘制一个填充而不是一个波纹。

相关XML属性:

Parameters
color int: ARGB color to use for the ripple.

setSize

void setSize (int size)

设置按钮的大小。

这些选项与材料设计规范中的可用选项相关。 SIZE_NORMAL大于SIZE_MINI SIZE_AUTO将根据屏幕尺寸选择合适的尺寸。

相关XML属性:

Parameters
size int: one of SIZE_NORMAL, SIZE_MINI or SIZE_AUTO

setUseCompatPadding

void setUseCompatPadding (boolean useCompatPadding)

设置FloatingActionButton是否应该在平台Lollipop和之后添加内部填充以确保所有平台上的尺寸保持一致。

相关XML属性:

Parameters
useCompatPadding boolean: true if FloatingActionButton is adding inner padding on platforms Lollipop and after, to ensure consistent dimensions on all platforms.

也可以看看:

setVisibility

void setVisibility (int visibility)

设置此视图的启用状态。

Parameters
visibility int: One of VISIBLE, INVISIBLE, or GONE.

show

void show (FloatingActionButton.OnVisibilityChangedListener listener)

显示按钮。

如果视图已经布置,此方法将动画按钮显示。

Parameters
listener FloatingActionButton.OnVisibilityChangedListener: the listener to notify when this view is shown

show

void show ()

显示按钮。

This method will animate the button show if the view has already been laid out.

Protected methods

drawableStateChanged

void drawableStateChanged ()

只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。

如果View有一个StateListAnimator,它也将被调用来运行必要的状态改变动画。

重写此功能时,一定要调用超类。

onAttachedToWindow

void onAttachedToWindow ()

这在视图附加到窗口时被调用。 此时它有一个Surface并将开始绘制。 请注意,此功能保证在onDraw(android.graphics.Canvas)之前onDraw(android.graphics.Canvas) ,但可以在第一次onDraw之前的任何时间调用此函数 - 包括在onMeasure(int, int)之前或之后。

onDetachedFromWindow

void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

onMeasure

void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时,您必须致电setMeasuredDimension(int, int)来存储此视图的测量宽度和高度。 如果不这样做,将触发IllegalStateException ,由measure(int, int)抛出。 调用超类' onMeasure(int, int)是一种有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

Hooray!