14

わかりました、私はこれまで以上に正気を失っています。いまいましいものをスタイルする方法が見つからない/理解できない. タブ自体の背景を変更することはできましたが、選択したタブの下にあるバーの色を変更できません。

青から何かに変える方法。

私の styles.xml 残念ながら、私はそれがどのように機能するかについて非常によく理解していません

<?xml version="1.0" encoding="utf-8"?>
<resources>


    <style name="Theme.Styled" parent="Theme.Sherlock.Light">
        <item name="actionBarTabStyle">@style/Widget.Styled.ActionBarTab</item>
        <item name="android:actionBarTabStyle">@style/Widget.Styled.ActionBarTab</item>

        <item name="actionBarTabBarStyle">@style/Widget.Styled.ActionBarTabBar</item>
        <item name="android:actionBarTabBarStyle">@style/Widget.Styled.ActionBarTabBar</item>

        <item name="actionBarTabTextStyle">@style/myText</item>
        <item name="android:actionBarTabTextStyle">@style/myText</item>


    </style>

    <style name="Widget.Styled.ActionBarTab" parent="Widget.Sherlock.Light.ActionBar.TabView">
    <!--    <item name="background">@drawable/startbcg</item>
        <item name="android:background">@drawable/startbcg</item>
        <item name="backgroundSplit">@drawable/bg_striped_split</item>
        <item name="android:backgroundSplit">@drawable/bg_striped_split</item>
    -->
    </style>


    <style name="Widget.Styled.ActionBarTabBar" parent="Widget.Sherlock.Light.ActionBar.TabBar">

        <item name="background">@drawable/startbcg</item>
        <item name="android:background">@drawable/startbcg</item>
         <item name="backgroundSplit">@drawable/bg_striped_split</item>
        <item name="android:backgroundSplit">@drawable/bg_striped_split</item>

    </style>

    <style name="myText" parent="Widget.Sherlock.Light.ActionBar.TabText">
        <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
        <item name="android:textColor">@android:color/primary_text_dark</item>
        <item name="android:textSize">10sp</item>


    </style>
<style name="myTextInv" parent="Widget.Sherlock.Light.ActionBar.TabText.Inverse">
        <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
        <item name="android:textColor">@android:color/primary_text_dark</item>
        <item name="android:textSize">10sp</item>


    </style>
</resources>

おまけの質問: 特定の要素が持つプロパティ (背景など) はどこで確認できますか。

4

2 に答える 2

17

ActionbarStyleGeneratorを使用して、Actionbar のスタイルを設定します。これは、最も簡単で直感的な方法です。

方法:

  1. UI を使用してさまざまなアイテムの色を選択する
  2. 完了したら、「DOWNLOAD .ZIP」をクリックします
  3. ZIP ファイルには、プロジェクトの res/layout および res/drawableXXXX フォルダーにコピーする必要があるリソース ファイルが含まれています。
于 2013-06-08T15:18:53.390 に答える
8

背景については、Android SDK res ディレクトリにあるドローアブル (9 つのパッチと xml) をコピーして、好きな色に変更する方がよいことがわかりました。

ボトムバーを含めた背景を使っているので、ボトムバーだけを変更することはできないと思います。

これが私が持っているもので、下部のバーに緑色を使用しています:

<style name="customTabStyle" parent="Widget.Sherlock.ActionBar.TabView">
    <item name="android:showDividers">none</item>
    <item name="android:measureWithLargestChild">true</item>
    <!-- This was a copy from the sdk drawable -->
    <item name="android:background">@drawable/tab_indicator</item>

    <item name="background">@drawable/tab_indicator</item>
    <item name="android:gravity">center</item>
    <item name="android:textStyle">normal</item>
</style>


<style name="customTabBar" parent="Widget.Sherlock.ActionBar.TabBar">
    <item name="android:showDividers">middle</item>

    <item name="android:divider">@drawable/tab_divider</item>
    <item name="divider">@drawable/tab_divider</item>

    <item name="android:dividerPadding">10dip</item>

    <item name="android:background">@drawable/tab_bg</item>
</style>

タブ インジケータは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected" />
<item android:state_focused="false" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_selected" />

<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused" />
<item android:state_focused="true" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_selected_focused" />

<!-- Pressed -->
<!--    Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed" />
<item android:state_focused="false" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed" />

<!--    Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed" />
<item android:state_focused="true" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed" />
</selector>

それが役立つことを願っています!

于 2012-08-21T16:48:29.810 に答える