0

ボタンにテーマを適用する際に問題があります。このスクリーンショットでわかるように、テーマを使用しないと、すべてがうまく見えます: http://i47.tinypic.com/2czyctv.jpg

テーマを適用すると、次のようになります: http://i48.tinypic.com/w03s6x.png

色はいいのですが、ボタンの高さが間違っていて、上のボタンと横線の間のスペースが消えてしまいました。私が変更したいのは色だけだったので、実際には、テーマのあるボタンはサイズのテーマのないボタンのように見えるはずです。

値/themes.xml:

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

<style name="Theme.KIT.Styled" parent="Theme.Sherlock.Light.DarkActionBar">

    <item name="actionBarStyle">@style/ActionBar</item>
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:buttonStyle">@style/Button</item>

</style>

<style name="ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/actionbar_background_shape</item>
    <item name="android:background">@drawable/actionbar_background_shape</item>
</style>

<style name="Button" parent="@android:style/Widget.Button">
    <item name="android:background">@drawable/kit_button</item>
</style>
</resources>

drawable/kit_button.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_enabled="false"
    android:drawable="@drawable/kit_button_background_shape" />
<item
    android:state_pressed="true"
    android:state_enabled="true"
    android:drawable="@drawable/kit_button_background_shape" />
<item
    android:state_focused="true"
    android:state_enabled="true"
    android:drawable="@drawable/kit_button_background_shape" />
<item
    android:state_enabled="true"
    android:drawable="@drawable/kit_button_background_shape" />
</selector>

drawable/kit_button_background_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient 
    android:startColor="@color/KIT_GREEN"
    android:endColor="@color/KIT_GREEN_LIGHT"
    android:angle="90"
    android:centerX="0.5"
    android:centerY="0.5" />
</shape>

私はそれが私を助けることができることを願っています. そして私の悪い英語でごめんなさい...

4

1 に答える 1

0

ボタンのパディングは 9 パッチ バックグラウンド内で宣言されていましたが、GradientDrawable はそれを行いません。android:padding 属性をテーマに追加するか、9-patch を使用する必要があります。

于 2012-08-10T16:59:33.727 に答える