簡體   English   中英

如何自定義浮動操作按鈕形狀?

[英]How do I customize a Floating Action Button shape?

我正在嘗試使用自定義形狀創建自定義 FAB。 我已經嘗試設置android: background以及shapeAppearanceOverlayshapeAppearance屬性,但仍然沒有運氣。

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/edit_score_fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:shapeAppearance="@drawable/edit_score_fab"
            app:shapeAppearanceOverlay="@drawable/edit_score_fab"
            android:background="@drawable/edit_score_fab"/>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    >
    <size
        android:height="5dp"
        android:width="10dp"/>
    <corners android:bottomLeftRadius="4dp" />
    <solid android:color="@color/color_primary"/>
</shape>

我的結果

在此處輸入圖片說明

我想要的是

在此處輸入圖片說明

您可以使用具有自定義形狀外觀的ExtendedFloatingActionButton
就像是:

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
    app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlayExtended"
    ../>

和:

  <style name="ShapeAppearanceOverlayExtended" parent="">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">0dp</item>
    <item name="cornerSizeTopLeft">50%</item>
  </style>

在此處輸入圖片說明

如果你想要一個可擴展的完全可定制的 FAB :

首先下載我的庫Viper Pack並將其安裝在您的項目中。

其次,轉到您的活動onCreate循環並使用 Lava 類中的Lava.app.addLavaFab(...)方法添加它:

簡單的熔岩工廠:

Lava.app.addLavaFab(Context c, int imgres, String text, View.OnClickListener lis)允許您在應用程序中添加一個簡單的圖像和文本 lava fab,imgres 是來自資源的 fab 圖像,而 text 是 fab 文本。

Lava.app.addLavaFab(Context c, int imgres, String text, String gravity, View.OnClickListener lis)讓你在你的應用程序中添加一個簡單的圖像和文本熔岩晶圓廠,重力是晶圓廠的位置,可以是Lava.FabPosition。 LEFT 或 Lava.FabPosition.RIGHT 或 Lava.FabPosition.CENTER,imgres 是來自資源的 fab 圖像,而 text 是 fab 文本。

Lava.app.addLavaFab(Context c, Drawable d, String text, View.OnClickListener lis)允許您在應用程序中添加簡單的圖像和文本 lava fab,d 是作為 drawable 的 fab 圖像,text 是 fab 文本。

Lava.app.addLavaFab(Context c, Drawable d, String text, String gravity, View.OnClickListener lis)讓你在你的應用程序中添加一個簡單的圖像和文本熔岩晶圓廠,重力是晶圓廠的位置,它可以是Lava.FabPosition.LEFTLava.FabPosition.RIGHTLava.FabPosition.CENTER , d 是可繪制的 fab 圖像, text 是 fab 文本。

您可以使用Lava.app.fabtextLava.app.fabimage獲得簡單的 lava fab textview 和 imageview。

定制熔岩工廠:

Lava.app.addLavaFab(Context c, View fixedview, View hiddenview, View.OnClickListener lis)允許你在你的應用程序中添加一個自定義的熔岩晶圓廠,fixedview 是晶圓廠中始終出現的視圖,它可以是一個圖像,lottie 動畫, 任何事物; hiddenview 是只有在用戶按下 fab 時才會出現的隱藏視圖,它可以是文本或其他任何內容。

Lava.app.addLavaFab(Context c, View fixedview, View hiddenview, String gravity, View.OnClickListener lis)允許你在你的應用中添加一個自定義的熔岩晶圓廠,fixedview 是晶圓廠中始終出現的視圖,它可以是一個圖像,樂天動畫,任何東西; hiddenview 是只有當用戶按下 fab 時才會出現的隱藏視圖,它可以是文本或其他任何東西,gravity 是 fab 位置,它可以是Lava.FabPosition.LEFTLava.FabPosition.RIGHTLava.FabPosition.CENTER .

您可以通過Lava.app.fab將熔岩工廠本身作為 LinearLayout Lava.app.fab

很容易添加,試一試並分享給其他人:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM