簡體   English   中英

顯示為正方形的浮動操作按鈕

[英]Floating Action Button appearing as a square

我目前正在開發一個 Android 應用程序並使用最新添加的浮動操作按鈕。 但是,在編譯必要的庫並將 fab 添加到我的 xml 文件后,它顯示為一個正方形,而我希望它是一個圓形,就像其他地方一樣。

我使用相同的基本代碼來實現在網上找到的 fab,我的結果是一個正方形,而他們的結果是一個漂亮的圓形 fab。

這是我的代碼:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="16dp"
    android:src="@drawable/ic_person_add_black_24dp" />

這是顯示內容的屏幕截圖:

截屏

如何將晶圓廠(在此處添加聯系人)顯示為圓形?

謝謝,

嘗試為您的 fab 或父布局設置一個 appcompat 主題: android:theme="@style/Theme.AppCompat"

我不知道這是否解決了這個問題,但我停止了為另一個項目在這個項目上工作一段時間,我的另一個項目沒有這個問題。

如果您的 Activity 擴展 Activity 而不是 AppCompatActivity,AndroidStudio 似乎會創建一個方形 fab。

即使您的活動擴展了AppCompatActivity您可能還需要構建項目 (Ctrl+F9),然后才能看到正確呈現的預覽。

試試這個 XML 代碼,這是Android studio從模板自動生成的代碼

<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="@dimen/fab_margin"
    app:srcCompat="@android:drawable/ic_dialog_email" />

希望這可以幫助。

確保再次檢查您的XML文件是否指向其上下文(活動的Java部分),我剛剛花了30分鍾的時間試圖解決此問題,這是因為這一點。

您可以將材料 FAB 與 Theme.MaterialComponents 一起使用

 <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
            android:id="@+id/fab_Send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:contentDescription="@string/app_name"
            android:gravity="center"
            android:text="@string/send"
            android:theme="@style/Theme.MaterialComponents"
            android:textAllCaps="false"
            android:textColor="@color/colorWhite"
            android:textSize="@dimen/_12sdp"
            app:backgroundTint="@color/colorPrimary"
            app:borderWidth="0dp"
            android:fontFamily="@font/play_fair_display_black"
            app:useCompatPadding="true"
            tools:ignore="RelativeOverlap" />

這是結果

在此處輸入圖片說明

發生這種情況的原因是,除了 FAB 使用的主題之外,您為您的應用程序使用了不同的主題。 在我的情況下,我為我的應用程序使用Theme.AppCompat.Light.NoActionBar但 FAB 不支持。

暫無
暫無

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

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