Button設置elevation陰影

Button設置elevation陰影沒效果是由於默認主題裏,已經有了elevation設置,因此再設置就沒用了,能夠先用android:stateListAnimator="@null"把默認動畫置空,而後再設置elevation,還要設置背景顏色,沒有背景顏色是沒有陰影效果的。設置完後運行效果以下圖,(感謝南哥全程指導)android

<Button
    android:id="@+id/bt_main"
    android:elevation="10dp"
    android:stateListAnimator="@null"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/holo_orange_light"
    android:text="Button" />

 <Button
    android:id="@+id/bt_main1"
    android:elevation="10dp"
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/holo_orange_light"
    android:text="Button1" />
複製代碼

能夠看出已經有了陰影效果,請淡定,你這個時候再點擊Button時會發現,Button按下動畫效果沒有了,影響到了用戶體驗。(感謝南哥全程指導)less

Button有陰影

Button1無陰影

###按下動畫問題解決: 把Button外面嵌套一層LinerLayout把elevation屬性放到LinerLayout裏,設置背景顏色,沒有背景顏色是看不到陰影效果的。給Button一個樣式style="@style/Widget.AppCompat.Button.Borderless"學習

<LinearLayout
    android:elevation="10dp"
    android:layout_width="300dp"
    android:layout_height="100dp"
    android:background="#E99700">

    <Button
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
 </LinearLayout>
複製代碼

能夠看到如今點擊已經有了動畫效果(感謝南哥全程指導)動畫

有陰影,有點擊效果(1)

有陰影,有點擊效果(2)

本文有不少不足之處,勞請各位博友留言評論,讓我好借鑑完善本篇文章。 文末再次感謝南哥,你是個人榜樣,是我學習的對象。spa

相關文章
相關標籤/搜索