2015-08-08 3 views
2

В моей панели действий я хочу свести к минимуму высоту выделенной вкладки. Я попытался свести к минимуму высоту tab_selected.9.png, tab_selected_focused.9.png и tab_selected_pressed.9.png в drawable. Но ничего не влияет, я думаю, что я иду по неправильному пути. И для панели действий и вкладки я использую android.support.v7.app.ActionBar и android.support.v7.app.ActionBar.Tab. Любое предложение очень ценится.Как изменить вкладку индикатора подчеркивание высоты в панели действий

Спасибо

enter image description here

theme.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<!-- the theme applied to the application or activity --> 
<style name="CustomActionBarTheme" 
     parent="@style/Theme.AppCompat.Light.DarkActionBar"> 

    <!-- Support library compatibility --> 
    <item name="actionBarTabStyle">@style/MyActionBarTabs</item> 

</style> 

<!-- ActionBar tabs styles --> 
<style name="MyActionBarTabs" 
     parent="@style/Widget.AppCompat.ActionBar.TabView"> 
    <!-- tab indicator --> 
    <item name="android:background">@drawable/actionbar_tab_indicator</item> 

    <!-- Support library compatibility --> 
    <item name="background">@drawable/actionbar_tab_indicator</item> 
</style> 
</resources> 

actionbar_tab_indicator.xml

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

<!-- STATES WHEN BUTTON IS NOT PRESSED --> 

<!-- 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 (such as when focused with a d-pad or mouse hover) --> 
<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" /> 


<!-- STATES WHEN BUTTON IS 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 (such as when focused with a d-pad or mouse hover) --> 
<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> 
+0

Вы используете режим принизить навигации. Проверьте вкладку TabLayout в соответствующей библиотеке поддержки. –

ответ

1

Я нашел ответ в этой ссылке - Is it possible to change actionbar tab indicator programmatically.

Instance использования 9 патч изображения для индикатора вкладок, я использовал макет-лист в tab_selected.xml, tab_selected_focused.xml, tab_selected_pressed.xml, tab_unselected.xml, tab_unselected_focused.xml и tab_unselected_pressed.xml.

tab_selected.xml

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

<item> 
    <shape android:shape="rectangle" > 
    <solid android:color="#ffffff" /> 

    <padding android:bottom="2dp" /> 
    </shape> 
</item> 
<item> 
    <shape android:shape="rectangle" > 
     <solid android:color="@color/actionbar_color" /> 
    </shape> 
</item> 

tab_selected_pressed.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/actionbar_color" /> 
     </shape> 
    </item> 
</layer-list> 

tab_selected_focused.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/actionbar_color" /> 
     </shape> 
    </item> 
</layer-list> 

tab_unselected.xml

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


    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/actionbar_color" /> 
     </shape> 
    </item> 

</layer-list> 

tab_selected_unfocused.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/actionbar_color" /> 
     </shape> 
    </item> 
</layer-list> 

tab_selected_unselected.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/actionbar_color" /> 
     </shape> 
    </item> 
</layer-list> 

Благодаря

Смежные вопросы