为轮廓材质组件按钮的背景着色

zsm*_*b13 5 android android-layout android-button material-components material-components-android

我正在尝试创建一个概述的材质组件按钮,但是除了笔画之外,我还需要它具有半透明的背景。

到目前为止,这是我的 XML 代码:

<android.support.design.button.MaterialButton
    android:id="@+id/foo"
    style="@style/Widget.MaterialComponents.Button.TextButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    app:backgroundTint="#CFFF"
    app:strokeColor="@color/colorAccent"
    app:strokeWidth="2dp" />
Run Code Online (Sandbox Code Playgroud)

这就是这个样子:

具有 2dp 行程的按钮

问题在于,按钮周围的笔划之外的一些背景是可见的(笔划宽度越大,出现的白色像素就越多)。

例如,这是一个5dp中风:

具有 5dp 行程的按钮

有没有办法解决这个问题,有更好的方法来设置背景颜色,或者其他什么?

小智 0

您可以尝试基于以下内容直接在 xlm 中的可绘制对象中创建按钮:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <solid android:color="backgroundcolor"/>
        <stroke android:color="strokecolor" android:width="2dp" />
        <!--corners allow us to make the rounded corners button-->
        <corners android:radius="15dp" />
    </shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)

成立于此处: https://android--code.blogspot.fr/2015/01/android-rounded-corners-button.html

并在布局中像这样使用它:

 android:background="@drawable/nameofbutton.xml"
Run Code Online (Sandbox Code Playgroud)