2013-08-23 4 views
0

Я использую панель инструментов для Android в моем приложении. Я хочу, чтобы моя панель действий выглядела так.настроить underline в панели действий sherlock android

enter image description here

Но когда я изменить й цвет фона вкладки панели действий в возрасте до линии уходит.

вот мой код.

<style name="MyTheme" parent="Theme.Sherlock.Light"> 
<!-- define text style for tabs --> 
<item name="actionBarTabTextStyle">@style/MyTabTextStyle</item> 
<item name="android:actionBarTabTextStyle">@style/MyTabTextStyle</item> 

<item name = "actionBarStyle">@style/MyBarStyle</item> 
<item name = "android:actionBarStyle">@style/MyBarStyle</item> 

<item name = "actionBarTabStyle">@style/MyTabStyle</item> 
<item name = "android:actionBarTabStyle">@style/MyTabStyle</item> 

<item name = "actionBarTabBarStyle">@style/MyTabBarStyle</item> 
<item name = "android:actionBarTabBarStyle">@style/MyTabBarStyle</item> 


</style> 

    <style name="MyTabTextStyle" parent="Widget.Sherlock.ActionBar.TabText" > 
<item name="android:textColor">@color/tab_text_indicator</item> 
<item name= "android:textSize">15dp</item> 
<item name= "android:textStyle">normal</item> 
</style> 

    <style name="MyBarStyle" parent="Widget.Sherlock.ActionBar" > 
    <item name="android:textSize">18dp</item> 
    <item name="android:textStyle">normal</item> 
    <item name="android:background">#669933</item> 
    <item name="background">#669933</item> 
    </style> 

    <style name="MyTabStyle" parent="Widget.Sherlock.Light.ActionBar.TabView" > 
    <item name="android:background">#ffffff</item> 
    <item name="background">#ffffff</item> 
    </style> 

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

и выход

enter image description here

так, просто не знаю, как установить подчеркивание в моем действие tab.please помощь .. спасибо.

ответ

0

попробовать этот код:

import android.view.View; 
    import android.view.animation.AccelerateInterpolator; 
    import android.view.animation.Animation; 
    import android.view.animation.TranslateAnimation; 
    import android.widget.TabHost; 
    import android.widget.TabHost.OnTabChangeListener; 

/** 
* A custom OnTabChangeListener that uses the TabHost its related to to fetch information about the current and previous 
* tabs. It uses this information to perform some custom animations that slide the tabs in and out from left and right. 
* 
* @author Daniel Kvist 
* 
*/ 
public class AnimatedTabHostListener implements OnTabChangeListener 
{ 

    private static final int ANIMATION_TIME = 240; 
    private TabHost tabHost; 
    private View previousView; 
    private View currentView; 
    private int currentTab; 

    /** 
    * Constructor that takes the TabHost as a parameter and sets previousView to the currentView at instantiation 
    * 
    * @param tabHost 
    */ 
    public AnimatedTabHostListener(TabHost tabHost) 
    { 
     this.tabHost = tabHost; 
     this.previousView = tabHost.getCurrentView(); 
    } 

    /** 
    * When tabs change we fetch the current view that we are animating to and animate it and the previous view in the 
    * appropriate directions. 
    */ 
    @Override 
    public void onTabChanged(String tabId) 
    { 

     currentView = tabHost.getCurrentView(); 
     if (tabHost.getCurrentTab() > currentTab) 
     { 
      previousView.setAnimation(outToLeftAnimation()); 
      currentView.setAnimation(inFromRightAnimation()); 
     } 
     else 
     { 
      previousView.setAnimation(outToRightAnimation()); 
      currentView.setAnimation(inFromLeftAnimation()); 
     } 
     previousView = currentView; 
     currentTab = tabHost.getCurrentTab(); 

    } 

    /** 
    * Custom animation that animates in from right 
    * 
    * @return Animation the Animation object 
    */ 
    private Animation inFromRightAnimation() 
    { 
     Animation inFromRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, 
       Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); 
     return setProperties(inFromRight); 
    } 

    /** 
    * Custom animation that animates out to the right 
    * 
    * @return Animation the Animation object 
    */ 
    private Animation outToRightAnimation() 
    { 
     Animation outToRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f, 
       Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); 
     return setProperties(outToRight); 
    } 

    /** 
    * Custom animation that animates in from left 
    * 
    * @return Animation the Animation object 
    */ 
    private Animation inFromLeftAnimation() 
    { 
     Animation inFromLeft = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, 
       Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); 
     return setProperties(inFromLeft); 
    } 

    /** 
    * Custom animation that animates out to the left 
    * 
    * @return Animation the Animation object 
    */ 
    private Animation outToLeftAnimation() 
    { 
     Animation outtoLeft = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, -1.0f, 
       Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); 
     return setProperties(outtoLeft); 
    } 

    /** 
    * Helper method that sets some common properties 
    * @param animation the animation to give common properties 
    * @return the animation with common properties 
    */ 
    private Animation setProperties(Animation animation) 
    { 
     animation.setDuration(ANIMATION_TIME); 
     animation.setInterpolator(new AccelerateInterpolator()); 
     return animation; 
    } 
} 
0

Если вы ищете tabnavigation как GooglePlayStore приложение затем PagerTabStrip и ViewPager будет легко.

Вот хороший пример для вас AndroidSolution4U

В этом учебнике вы можете настроить вкладку, изменяя цвет в следующем коде

<android.support.v4.view.PagerTabStrip 
    android:id="@+id/pager_title_strip" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" 
    android:background="#676966" 
    android:paddingBottom="4dp" 
    android:paddingTop="4dp" 
    android:textColor="#6CBD57" /> 
+0

нет я хочу сделать это с помощью панели действий sherlok.Is есть способ сделайте это .. – test

+0

, пожалуйста, посмотрите https://developer.android.com/training/basics/actionbar/styling.html –

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