自定义按钮(ANDROID)

时间:2016-04-16 11:54:22

标签: android android-layout button material-design

我想在Android中完全自定义按钮,保留所有多汁的材质设计风格。

  • 没有按钮的自定义可绘制png,只需将颜色应用于按钮,我就可以更改按钮的颜色并保持高程,涟漪效果,圆角,看起来不错。
  • 我用的代码是

    <resources>
    
        <style name="AppTheme.NoActionBar">
            <item name="android:colorButtonNormal">#8126f3</item>
        </style>
    </resources>
    
  • 然后我想将自己的drawable放入按钮并保持Material Design效果。所以我创建了一个drawable(V21)并将其指定为按钮的背景。

    button_ripple.xml

    <?xml version="1.0" encoding="utf-8"?>
    <ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?attr/colorControlHighlight">
    <item android:drawable="@drawable/take_ride_map_btn"/>
    </ripple>
    
  • 但现在的问题是它没有高程。并且涟漪效应不是从触摸点开始的。

我调查了thisthisthis SO问题,但这些对使用自定义drawable into按钮没有帮助。

请建议我如何实现这一目标 -

  • 拥有自定义绘图时的高程。

  • 在用户触摸的位置启动“波纹效果”。

1 个答案:

答案 0 :(得分:0)

如果您将按钮设置为wrap_content两种方式(即高度和宽度)以及应使用RippleDecoratorView的涟漪效果,则始终可以保持高程。

你不需要把它投射到任何东西,只需在xml中包裹它内部的按钮就可以了,还有它的高度可定制性