Material Design學習-----FloatingActionButton


  FloatingActionButton是懸浮操作按鈕,它繼承自imageview,所以說它具備有imageview所有的方法和屬性。與其他按鈕不同的是,FloatingActionButton默認就是圓形的,只要設置背景色和背景圖片,展現出來的就圓形按鈕,FloatingActionButton常用的屬性有:

  • app:backgroundTint - 設置FAB的背景顏色。
  • app:rippleColor - 設置FAB點擊時的背景顏色。
  • app:borderWidth - 該屬性尤為重要,如果不設置0dp,那么在4.1的sdk上FAB會顯示為正方形,而且在5.0以后的sdk沒有陰影效果。所以設置為borderWidth="0dp"。
  • app:elevation - 默認狀態下FAB的陰影大小。
  • app:pressedTranslationZ - 點擊時候FAB的陰影大小。
  • app:fabSize - 設置FAB的大小,該屬性有兩個值,分別為normal和mini,對應的FAB大小分別為56dp和40dp。
  • src - 設置FAB的圖標,Google建議符合Design設計的該圖標大小為24dp。
  • app:layout_anchor - 設置FAB的錨點,即以哪個控件為參照點設置位置。
  • app:layout_anchorGravity - 設置FAB相對錨點的位置,值有 bottom、center、right、left、top等。

  實現的代碼如下:

1 <android.support.design.widget.FloatingActionButton
2                 android:layout_width="wrap_content"
3                 android:layout_height="wrap_content"
4                 android:layout_gravity="center_horizontal"
5                 android:src="@mipmap/icon"
6                 app:backgroundTint="#ff87ffeb"
7                 app:rippleColor="#33728dff"
8                 app:elevation="6dp"
9                 app:pressedTranslationZ="12dp" />

  同時有時為了實現和背面控件的同步滑動(如:有時候要調用Snackbar的時候,不同步滑動會有相互遮擋的問題),這個時候就需要把需要同步滑動的控件都放在CollapsingToolbarLayout控件中,關於CollapsingToolbarLayout的使用方式,在前面的博客中介紹過。

  5.x存在的一些問題

  • 木有陰影

記得設置app:borderWidth="0dp"

  • 按上述設置后,陰影出現了,但是竟然有矩形的邊界(未設置margin時,可以看出)

需要設置一個margin的值。在5.0之前,會默認就有一個外邊距(不過並非是margin,只是效果相同)。

so,良好的實踐是:

  • 添加屬性app:borderWidth="0dp"
  • 對於5.x設置一個合理的margin

不是悶騷的程序員算不上程序員。我的微信公眾號“那點鼻事”,在這里周一到周五每天一篇文章,與技術無關,只哈牛逼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM