如何复制收件箱浮动操作按钮(每个子按钮有文本)?

时间:2014-11-19 05:42:41

标签: java android view android-custom-view floating-action-button

我只是想知道是否有人知道如何复制新的收件箱应用程序对Android的浮动操作按钮视图? 我有浮动操作按钮工作(带子按钮)使用此库的修改版本: https://github.com/futuresimple/android-floating-action-button/blob/master/README.md

但是我在尝试获取按钮旁边的文本视图时遇到了麻烦,例如在收件箱应用中。

如果有人可以就如何修改图书馆以适应这种情况或任何其他方式来提供我的建议,我会非常感激。

感谢您的时间 科里

2 个答案:

答案 0 :(得分:7)

由于标签FAB功能(如在Evernote或Inbox应用程序中)添加到这个真棒library随意使用它:

Gradle依赖:

    compile 'com.getbase:floatingactionbutton:1.3.0'

Layout.xml:

     <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_alignParentRight="true"
        android:layout_alignParentEnd="true"
        fab:fab_addButtonColorNormal="@color/white"
        fab:fab_addButtonColorPressed="@color/white_pressed"
        fab:fab_addButtonPlusIconColor="@color/half_black"
        fab:fab_labelStyle="@style/menu_labels_style"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginEnd="16dp">

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white"
            fab:fab_title="Action A"
            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_title="Action B"
            fab:fab_colorPressed="@color/white_pressed"/>

    </com.getbase.floatingactionbutton.FloatingActionsMenu>

menu_labels_style.xml:

    <style name="menu_labels_style">
        <item name="android:background">@drawable/fab_label_background</item>
        <item name="android:textColor">@color/white</item>
    </style>

fab_label_background.xml:

    <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/black_semi_transparent"/>
    <padding
        android:left="16dp"
        android:top="4dp"
        android:right="16dp"
        android:bottom="4dp"/>
    <corners
        android:radius="2dp"/>
</shape>

享受!

答案 1 :(得分:2)

FloatinActionsMenu ViewGroup它可以接受任何视图。

创建如下的布局:

<FloatingActionsMenu
  android:layout_height="wrap_content"
   android:layout_width="wrap_content"
>
<RelativeView
   android:layout_height="wrap_content"
   android:layout_width="wrap_content">
   <TextView
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      android:text="@string/floating_description_1"/>
     <FloatingActionButton
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      //....
</RelativeLayout>
<RelativeView
   android:layout_height="wrap_content"
   android:layout_width="wrap_content">
   <TextView
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      android:text="@string/floating_description_2"/>
     <FloatingActionButton
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      //....

</RelativeLayout>
</FloatingActionsMenu>

样式TextView,如你的心愿,背景,文字颜色等。

请注意,第一个FloatingActionButton将移位到宽度最大的子视图的大小。您应该将其移动到最大子宽度 - 第一个浮动按钮宽度。

如果您还要将TextView添加到该FloatingAction,请通过id R.id.fab_expand_menu.getChildAt(0)获取它,以编程方式包装它,就像在xml中一样,并使用{ {1}}

我打算分叉,如果有机会我有时间修理它。我会发一个指向fork的链接。