Закругленные углы на всех кнопках в теме - как переопределить? - PullRequest
3 голосов
/ 20 октября 2011

Я искал простой способ сделать все кнопки в моем приложении закругленными углами.

Мне не удалось, поэтому я подумал, что спросить =)

Мой AndroidManifest.xml:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/BlackTheme" android:alwaysRetainTaskState="true" android:name="MyApplication">

My styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="ButtonHeader" parent="@android:style/Widget.Button">
        <item name="android:textSize">18dip</item>
        <item name="android:minWidth">70dip</item>
        <item name="android:minHeight">20dip</item>
        <item name="android:maxHeight">30dip</item>
    </style>

    <style name="JobViewHeader" parent="@android:style/TextAppearance.Small">
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <style name="BlackTheme" parent="@android:style/Theme.Black">
        <item name="android:button">@drawable/button_rounded</item>
    </style>  

    <style name="DialogTheme" parent="@android:style/Theme.Dialog">
    </style>  
</resources>

Мой button_ounded.xml (в чертежах):

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

1 Ответ

0 голосов
/ 19 марта 2012

Как я понимаю, вы пытаетесь указать некоторый абстрактный объект рисования ( Shape Drawable в вашем случае) в качестве фона кнопки, который позже будет объединен с любым другим набором рисунков в качестве фона кнопки. К сожалению, это невозможно. Если вам нужен фон с закругленными углами, вам нужно предоставить ресурс для рисования, который содержит закругленные углы, независимо от того, какой это тип рисования: Shape Drawable, девять-патч и т. Д.

Однако вы можете рассмотреть возможность создания подкласса виджета Button и переопределения его draw метода, где вы можете манипулировать внешним видом кнопки по своему желанию.

...