Цвет рамки на кнопке Android
У меня есть кнопка, созданная и установив цвет фона и цвет текста, как показано ниже. Мой вопрос: как установить цвет рамки кнопок? Я хочу установить цвет границы в белый
Вот кнопка в моей res -> layout -> main_nav.xml
<Button
android:id="@+id/btn_emergency"
style="@style/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Contact and Emergency"
android:onClick="onClickHandleStates" />
И вот его связанный стиль в res -> values -> styles
. Первые 2 "предмета" отлично работают сами по себе. Последним "пунктом" была моя попытка сменить границу кнопки на белый без успеха.
<!-- The button styles -->
<style name="buttonStyle">
<item name="android:textColor">#ffffff</item>
<item name="android:background">#80000000</item>
<item name="android:button">
<shape
android:shape="rectangle" >
<stroke
android:width="0.5dp"
android:color="#ffffff" />
</shape>
</item>
</style>
Ответы
Ответ 1
Используйте элемент <stroke>
. Добавьте этот xml файл в папку res/drawable как button_border.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFFFF"
android:endColor="#00FF00"
android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#ffffff" />
</shape>
тогда назовите это
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/button_border"
android:text="Button"
/>
Ответ 2
Попробуйте это
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="1dp" />
<stroke
android:width="2px"
android:color="#ffffff" />
</shape>
Ответ 3
Вы можете использовать этот генератор онлайн-кнопок, чтобы настроить свою кнопку http://angrytools.com/android/button/
Ответ 4
![введите описание изображения здесь]()
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="270"
android:endColor="#E8f2fe"
android:startColor="#E8f2fe" />
<corners android:radius="3dp" />
<stroke
android:width="2px"
android:color="#486e9d" />
для дополнительной информации http://androiddhina.blogspot.in/2015/09/border-color-on-android-button.html
Ответ 5
Если вам нужен прозрачный фон для вашей кнопки, используйте ответ Shivang Trivedi, но удалите раздел "градиент" следующим образом:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#ffffff" /> </shape>
Ответ 6
попробуйте кнопку Материал
Установите app: strokeWidth, app: strokeColor в соответствии с вашими потребностями
<com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:strokeWidth="0.6dp"
app:cornerRadius="2dp"
android:text="Reassign"
android:textColor="@color/colorAccent"
app:strokeColor="@color/colorAccent"
/>
Примечание. Вам нужно добавить зависимости для виджетов материалов
//Material Components for Android
implementation 'com.google.android.material:material:1.0.0'