Я хочу сделать кнопку так же, как в этом образеКак сделать форму капсулы Кнопка в android?
Я хочу использовать файл XML, который будет использоваться для создания такой кнопки. Может ли кто-нибудь сказать мне, как это сделать?
Я хочу сделать кнопку так же, как в этом образеКак сделать форму капсулы Кнопка в android?
Я хочу использовать файл XML, который будет использоваться для создания такой кнопки. Может ли кто-нибудь сказать мне, как это сделать?
, наконец, я нашел способ сделать это с XML-файл. вот код файла xml, который дал мне кнопку формы капсулы.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:bottomLeftRadius="30dp"
android:bottomRightRadius="30dp"
android:radius="60dp"
android:topLeftRadius="30dp"
android:topRightRadius="30dp" />
<solid android:color="#CFCFCF" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<size
android:height="60dp"
android:width="270dp" />
</shape>
Атрибут «radius» будет игнорировать, потому что вы также устанавливаете индивидуальный радиус (например, 'bottomLeftRadius'). Чтобы процитировать [docs] (http://developer.android.com/guide/topics/resources/drawable-resource.html), «Радиус для всех углов в качестве значения измерения или ресурса измерения. Это переопределяется для каждого угол по следующим атрибутам. " – tir38
Я удалил атрибут статического размера и увеличил общий радиус до 50 дп (после удаления всего верхнего, нижнего, левого и правого радиуса) –
рассмотреть настройку shape
к нему и использовать corners
внутри этой формы:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp"/> <!-- increasing the value, increases the rounding. And as TTransmit said, to make it like a capsule make the radius half of your button height -->
<solid android:color="#AAAAAA"/> <!-- the button color -->
</shape>
Таким образом, сохранить эту форму в папке /drawable
, скажем, это будет сохранено как «button_bg.xml», так при объявлении кнопки в макете XML:
<Button
android:background="@drawable/button_bg"
android:layout_height="20dp"
.
. />
Хитрость получить форму капсулы, чтобы дополнительно указать высоту элемента кнопки как дважды радиус угла, то есть 20dp в этом случае. Хорошим вариантом будет создание стиля с использованием высоты и выделенного фона. – TTransmit
@TTransmit хороший совет –
Я пробовал вышеупомянутые способы использования, используя как прямоугольник, так и овальную форму, но ничто, кажется, не дает форму капсулы, которую я хочу. – user3393926
Вот код для создания кнопки в XML, но если вы хотите кнопку, чтобы создать как капсула в форме, вы должны добавить фон
<Button
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
**android:background="@drawable/button_background"**
android:text="@string/image" >
</Button>
создать button_background.xml в вытяжке папке, напишите следующий код в button_background.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="40dp">
<!-- you can use any color you want I used here gray color-->
<solid android:color="#01A9DB"/>
<corners
android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
</shape>
Вы можете проверить здесь для возможного ответа yours.http: //stackoverflow.com/questions/7606995/android-how-apply-shape-and-selector-simultaneously-for-button – virendrao