Установить радиус кнопки как тему - PullRequest
0 голосов
/ 03 июля 2018
<Button android:id="@+id/gp_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="32dp"
    android:onClick="gp"
    android:text="@string/go_gplay"
    android:textAllCaps="false"
    android:theme="@style/ButonTheme"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.502"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView2" />    

<style name="ButonTheme" parent="ButonTheme">
    <item name="android:backgroundTint">#ffffff</item>
    <item name="android:textColor">#121212</item>
    <item name="android:topLeftRadius">20dp</item>
    <item name="android:bottomLeftRadius">20dp</item>
    <item name="android:topRightRadius">20dp</item>
    <item name="android:bottomRightRadius">20dp</item>
</style>

Как я могу отредактировать радиус границы кнопки в качестве темы, как вы видите, я установил радиус на 20dp, и в предварительном просмотре он показывает нормально, но при компиляции и запуске его в телефоне он показывает радиус по умолчанию. (Я знаю другой «трюк», чтобы сделать форму, а затем установить ее в качестве фона кнопки, но таким образом я потеряю анимацию по умолчанию «материал»)

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

попробуйте установить радиус для целых углов, <item name android:radius="20dp"/> или, может быть, вы можете поместить свою кнопку в виде карты и изогнуть ее углы. но типичным способом является использование формы.

0 голосов
/ 03 июля 2018

Сделайте рисование ... и затем примените имя файла drawables в качестве фона к <Button> в вашем макете.

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#ffffffff"/>    

    <stroke android:width="3dp"
            android:color="#ff000000" />

    <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp" /> 

    <corners android:bottomRightRadius="7dp"
             android:bottomLeftRadius="7dp"
             android:topLeftRadius="7dp"
             android:topRightRadius="7dp" /> 
</shape>
...