兔兔按鈕——安卓懸浮按鈕

語言: CN / TW / HK

我正在參加「兔了個兔」創意投稿大賽,詳情請看:「兔了個兔」創意投稿大賽

前言

安卓的Material庫提供了許多樣式更精美的控制元件,其中就有懸浮控制元件,它表現出一種懸浮在頁面的效果,也就是有立體效果的,讓人產生這種控制元件是另一個維度而不是這個維度的感覺,下面我們就來看看兔兔按鈕。

正篇

實現過程

首先我們在佈局中加上我們的FloatingActionButton控制元件: Kotlin <com.google.android.material.floatingactionbutton.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/rabbit_logo" /> 這樣預覽頁面就會出現一個懸浮的圓形按鈕,上面是我們的兔兔圖案,而且這個控制元件是出現在螢幕的右下角,接著我們為其增加點選效果: Kotlin binding.fab.setOnClickListener { "FAB Rabbit!".showToast(context) } 其中Toast用到了我們之前文章中的簡化方法(安卓開發基礎——簡化Toast呼叫方法 - 掘金 (juejin.cn)

執行程式後,我們就可以點選這個兔兔按鈕,浮現一句"FAB Rabbit!"的提示。

寫的過程很簡單,因為其實它的本質還是Button,不過是對其樣式進行了不同的改變,有了質感和陰影,使其呈現出浮現的效果。

image.png

當然,我們也可以去改變陰影效果的呈現程度: XML app:elevation="8dp" 我們在XML佈局中該控制元件控制elevation屬性,就能為FloatingActionButton指定一個高度,其中,高度值越大,投影範圍越大,但投影效果越淡,而高度越小,投影範圍越小,反而投影效果越濃。

總結

Material庫的確讓安卓很多控制元件效果不一樣,但在我們工作設計中還是很少去用它的,因為它的獨特效果在公司自己的UI設計師與產品眼中說不定最終還不如和IOS一致好。