Android 4: дать кнопкам другой стиль / внешний вид

1

Я бы хотел изменить внешний вид кнопок Android 4 по умолчанию. Они выглядят так:

Изображение 174551

Я бы хотел, чтобы они были полностью черными, белой рамкой, без округлых углов. Эффект синего наведения отличный, никаких изменений. К сожалению, есть много параметров, которые есть у кнопки. Могу ли я понять, что с одним стилем style.xml? Какие интересные параметры?

Большое спасибо.

Теги:

1 ответ

3
Лучший ответ

Стиль кнопки: style.xml

<style name="Button" parent="@android:style/Widget.Button">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">@dimen/txt_size_medium</item>
    <item name="android:background">@drawable/btn</item>
    <item name="android:textColor">@drawable/btn_txt_selector</item>
    <item name="android:gravity">center</item>
</style>

btn.xml

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

    <item android:state_focused="true"><shape android:shape="rectangle">
            <gradient android:angle="270" android:centerColor="@color/btn_focused_center" android:endColor="@color/btn_focused_end" android:startColor="@color/btn_focused_start" />

            <corners android:radius="@dimen/radious_btn" />

            <padding android:bottom="@dimen/padding_bottom_btn" android:left="@dimen/padding_left_btn" android:right="@dimen/padding_right_btn" android:top="@dimen/padding_top_btn" />

            <stroke android:width="@dimen/border_width_btn" android:color="@color/btn_focused_border" />
        </shape></item>

    <item><shape android:shape="rectangle">
            <gradient android:angle="270" android:centerColor="@color/btn_normal_center" android:endColor="@color/btn_normal_end" android:startColor="@color/btn_normal_start" />

            <corners android:radius="@dimen/radious_btn" />

            <padding android:bottom="@dimen/padding_bottom_btn" android:left="@dimen/padding_left_btn" android:right="@dimen/padding_right_btn" android:top="@dimen/padding_top_btn" />

            <stroke android:width="@dimen/border_width_btn" android:color="@color/btn_normal_border" />
        </shape></item>

</selector>

btn_txt_selector.xml

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

    <item android:state_focused="true" android:color="@color/btn_txt_focused"></item>
    <item android:state_selected="true" android:color="@color/btn_txt_selected"></item>
    <item android:state_enabled="false" android:color="@color/btn_txt_disabled"></item>
    <item android:color="@color/btn_txt_normal"></item>

</selector>
  • 0
    Спасибо тебе пока. Можете ли вы сказать мне, каковы корневые элементы btn.xml и btn_text_selector, получая ошибки XML при размещении <resources> вокруг них. Оба файла принадлежат папке значений или макету? еще раз спасибо
  • 0
    я обновил свой ответ, оба эти файла принадлежат drawable, а корневой элемент - <selector>
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню