Как держать закругленные углы для кнопки в Android, когда есть двухстрочные слова - PullRequest
0 голосов
/ 03 мая 2018

Я попытался сделать кнопку с закругленными углами, используя коды ниже:

first_page_button.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="15px" />
    <solid android:color="#199900" />
</shape>

активность xml:

<LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center">
            <Button
                android:id="@+id/login_page_send_code"
                android:layout_width="wrap_content"
                android:minWidth="120dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:layout_height="45dp"
                android:layout_marginTop="25dp"
                android:layout_marginRight="20dp"
                android:text="@string/login_page_send_code"
                android:textSize="10dp"
                android:textColor="#EAEAEA"
                android:alpha="1"
                android:background="@drawable/first_page_button"/>
            <Button
                android:id="@+id/login_page_login"
                android:layout_width="wrap_content"
                android:minWidth="100dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:layout_height="35dp"
                android:layout_marginTop="30dp"
                android:layout_marginLeft="20dp"
                android:text="@string/login_page_login"
                android:textSize="15dp"
                android:textColor="#EAEAEA"
                android:alpha="1"
                android:background="@drawable/first_page_button"/>
        </LinearLayout>

Обычное однострочное предложение выглядит как предполагаемый .bmp . Но я обнаружил, что когда предложения длиннее одной строки, два угла внизу не будут круглыми, как двухстрочный .bmp . Пожалуйста, помогите мне изменить мой код, спасибо за вашу помощь!

Ответы [ 4 ]

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

Вам необходимо внести некоторые изменения в свойства Button и исправить их, как показано ниже.

Как

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@color/white"
    android:padding="20dp"
    android:orientation="horizontal">

    <Button
        android:id="@+id/login_page_send_code"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp"
        android:alpha="1"
        android:background="@drawable/first_page_button"
        android:minWidth="120dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="SE CONNECTOR"
        android:textColor="#EAEAEA"
        android:textSize="12sp"
        tools:ignore="ButtonStyle" />

    <Button
        android:id="@+id/login_page_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
        android:alpha="1"
        android:background="@drawable/first_page_button"
        android:minWidth="100dp"
        android:paddingBottom="12dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="12dp"
        android:text="Envoyer Le Code De Verification"
        android:textColor="#EAEAEA"
        android:textSize="15sp"
        tools:ignore="ButtonStyle" />
</LinearLayout>

first_page_button.xml

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

    <stroke
        android:width="1dp"
        android:color="@color/white" />

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

    <corners
        android:bottomLeftRadius="10dip"
        android:bottomRightRadius="10dip"
        android:topLeftRadius="10dip"
        android:topRightRadius="10dip" />
</shape>

выход

enter image description here

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

enter image description here

round_corner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners android:radius="50dp" />

    <gradient
        android:angle="45"
        android:endColor="#00A46F"
        android:startColor="#00A46F" />

</shape>

Кнопка

 <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/et_login_password"
        android:layout_marginTop="25dp"
        android:background="@drawable/round_corner"
        android:padding="0dp"
        android:text="HELLO THIS IS A TEST APPLICATION "
        android:textAllCaps="false"
        android:textColor="@color/white"
        android:textSize="18sp" />

Согласно вашему XML-файлу:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_gravity="center"
        android:orientation="horizontal"
        android:weightSum="1">

        <Button
            android:id="@+id/login_page_send_code"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_weight=".5"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp"
            android:paddingBottom="10dp"
            android:background="@drawable/round_corner_green"
            android:singleLine="false"
            android:text="THIS IS YOUR FIRST BUTTON"
            android:textColor="#EAEAEA"
            android:textSize="13dp" />

        <Button
            android:id="@+id/login_page_login"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_weight=".5"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp"
            android:paddingBottom="10dp"
            android:background="@drawable/round_corner_green"
            android:text="THIS IS YOUR SECOND BUTTON"
            android:textColor="#EAEAEA"
            android:textSize="13dp" />
    </LinearLayout>
</RelativeLayout>

enter image description here

Установите android:radius в соответствии с вашим требованием кнопки круглого угла.

Надеюсь, это поможет вам.

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

отметьте здесь кнопку круглого угла

Попробуйте эту форму для рисования.

<?xml version="1.0" encoding="utf-8"?>

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

<solid android:color="#3F51B5" />

<corners
    android:bottomLeftRadius="24dp"
    android:bottomRightRadius="24dp"
    android:topLeftRadius="24dp"
    android:topRightRadius="24dp" />
</shape>
0 голосов
/ 03 мая 2018

Попробуйте это для ваших фигур

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/colorDarkWhite" />
    <corners android:bottomRightRadius="5dp"
        android:bottomLeftRadius="5dp"
        android:topRightRadius="5dp"
        android:topLeftRadius="5dp"/>
</shape>

Просто отрегулируйте углы так, как вам нравится!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...