Тонирование фона выделенной кнопки «Компоненты материала» - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь создать выделенную кнопку Компоненты материала , однако мне нужно, чтобы в дополнение к обводке она имела полупрозрачный фон.

Это мой код XML, поэтомуfar:

<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" />

И вот как это выглядит:

Button with 2dp stroke

Проблема в том, что часть фона виднавне обводки вокруг кнопки (чем больше ширина обводки, тем больше белых пикселей выходит).

Например, вот ход 5dp:

Button with 5dp stroke

Есть ли способ исправить это, лучший способ установитьцвет фона или что-нибудь?

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете попытаться создать свою кнопку в DrawBable непосредственно в 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>

основано здесь: https://android - code.blogspot.fr/2015/01/android-ounded-corners-button.html

и используйте его в своем макете следующим образом:

 android:background="@drawable/nameofbutton.xml"
...