2016-10-09 12 views
4

私はこれらを一緒に達成する方法を教えてください、私はすでに多くの質問を行ってきましたが、私は特に私の問題に対処していません。どのように波紋効果を追加し、アンドロイドのボタンのカスタム背景を持っていますか?

私のボタンに波及効果を持たせたいだけでなく、丸みを帯びて背景色にする必要があります。また、リプル効果の色をコントロールできるはずです。

私は以下に挙げるものをいくつか試しました。

最初の方法:<Button>タグにstyle="@style/AppTheme"を設定しようとしました。これは私に波及効果と背景色(スタイルで<item name="colorButtonNormal">#500347</item>を使用)を与えますが、ボタンは丸められません。

丸みのある形状を実現するために、<Button>タグにandroid:background="@drawable/button_bg"を付けました。これにより、ボタンが丸くなり、背景色も得られますが、リップル効果は消えてしまいます。

第2の方法:使用セレクタを試しました。 1.作成button_background.xml

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

    <item 
     android:state_focused="true" 
     android:drawable="@drawable/button_bg"/> 

    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/ripple_effect"/> 

    <item 
     android:drawable="@drawable/ripple_effect"/> 

</selector> 
button_bg.xmlにおけるボタンの
  • 丸い背景:

    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid 
        android:color="#500347" /> 
    
    <corners 
        android:radius="10dip" /> 
    
    <padding 
        android:bottom="0dip" 
        android:left="0dip" 
        android:right="0dip" 
        android:top="0dip" /> 
    

  • ripple_effet.xml:

    <ripple xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:tools="http://schemas.android.com/tools" 
        android:color="@android:color/holo_green_dark" 
        tools:targetApi="lollipop"> 
    
    
        <item android:id="@android:id/mask"> 
    
    <shape android:shape="rectangle"> 
    
        <solid android:color="@android:color/holo_green_dark" /> 
    
        <corners android:radius="10dip" /> 
    
    </shape> 
    

  • 背景色に戻るを押したときだけ白進む
  • この方法ボタンでタグ android:background="@drawable/button_bg"
  • <Button>で。

    どうすればいいですか教えてください。

    答えて

    1

    ここに私の答えが見つかりました。他の簡単な方法があれば、私はそれをこのようにやった

    関連する問題