2016-02-05 28 views
1

我正試圖對遺留代碼實施材料設計。使用SelectableItemBackground沒有紋波效應

我想要一個按鈕在點擊時產生連鎖反應,但它不顯示任何內容。

我使用的是默認?android:attr/selectableItemBackground

這是按鈕的xml:

<Button 
       android:text="Wandio" 
       android:padding="10dp" 
       android:textColor="#ffffff" 
       android:background="?android:attr/selectableItemBackground" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/wandio_link" /> 

風格values文件夾:

<resources> 
    <color name="main_green">#45bb61</color> 
    <style name="AppTheme" parent="AppTheme.Base"> 
    </style> 
    <style name="Theme.Splash" parent="android:Theme"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="windowActionBar">false</item> 
    </style> 
    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="windowNoTitle">true</item> 
     <item name="windowActionBar">false</item> 
     <item name="colorPrimary">#909CD4</item> 
     <item name="colorPrimaryDark">#D490CA</item> 
     <item name="colorAccent">#FFFFFF</item> 
     <item name="android:imageButtonStyle">@style/ImageButtonStyle</item> 
     <item name="android:windowBackground">@color/main_green</item> 
    </style> 
    <style name="ImageButtonStyle"> 
    <item name="android:background">@android:color/transparent</item> 
    </style> 
</resources> 

風格values-v21文件夾:

<resources> 
<style name="AppTheme" parent="AppTheme.Base"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="android:windowContentTransitions">true</item> 
    <item name="android:windowAllowEnterTransitionOverlap">true</item> 
    <item name="android:windowAllowReturnTransitionOverlap">true</item> 
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item> 
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item> 
    <item name="android:windowTranslucentStatus">true</item> 
    <item name="android:fitsSystemWindows">true</item> 
    <item name="android:imageButtonStyle">@style/StyleApi21</item> 
    <item name="android:buttonStyle">@style/StyleApi21</item> 
</style> 
<style name="StyleApi21"> 
     <item name="android:background">?android:attr/selectableItemBackgroundBorderless</item> 
</style> 

從未有過這個問題。找不到我想要的。 有什麼建議嗎?

回答

2

我tryed同樣的事情,我已經使用這個在我的自定義按鈕XML:

<item ><ripple xmlns:android="http://schemas.android.com/apk/res/android" 
     android:color="?android:colorControlHighlight"> 
     <item android:id="@android:id/mask"> 
      <shape android:shape="oval"> 
       <solid android:color="#FFBB00" /> 
      </shape> 
     </item> 
     <item> 
      <shape android:shape="oval"> 
       <solid android:color="@color/colorAccent" /> 

      </shape> 
     </item> 
    </ripple> 

這裏是我的另一個XML用於舊設備:

<item> 
     <selector xmlns:android="http://schemas.android.com/apk/res/android"> 

      <item android:drawable="@drawable/fab_selected" android:state_selected="true"/> 
      <item android:drawable="@drawable/fab_pressed" android:state_pressed="true"/> 
      <item android:drawable="@drawable/fab_normal"/> 

     </selector> 
    </item> 

這些繪製的文件只是不同的顏色的按鈕。

+0

我應該爲前棒棒糖設備添加另一個drawable嗎?或者這樣就足夠了嗎? – arsena

+0

是的,我爲v21添加了一個drawable,舊設備添加了一個drawable。 – Tito

+0

你可以爲舊設備發佈另一個xml嗎? – arsena