2013-07-22 191 views
0

我想定製sherlock操作欄及其選項卡。當增加操作欄大小時,Sherlock操作欄選項卡不顯示

由於我必須在大約100-150dp的大小和底部顯示應用程序圖標圖像,我必須顯示選項卡。

就像這樣enter image description here

所以,我想在風格

<style name="Theme.Style.Login" parent="@style/Theme.Sherlock.Light"> 
<!-- For API level <11---> 
    <item name="actionBarStyle">@style/Theme.white_style</item> 
    <item name="actionBarTabStyle">@style/customLoginActionBarTabStyle</item> 
    <item name="actionBarTabBarStyle">@style/customLoginActionBarTabDividerStyle</item> 
<!-- For API level <11---> 

<!-- For API level >=11---> 
    <item name="android:actionBarTabBarStyle">@style/customLoginActionBarTabStyle</item> 
    <item name="android:actionBarStyle">@style/Theme.white_style</item> 
    <item name="android:actionBarTabBarStyle">@style/customLoginActionBarTabDividerStyle</item> 
<!-- For API level >=11---> 
</style> 

<!-- Signup Login Tab Style theme --> 
<style name="customLoginActionBarTabStyle" parent="@style/Widget.Sherlock.Light.ActionBar.TabView"> 
    <item name="android:background">@drawable/actionbar_tabs_selector_loginsignup</item> 

</style> 
<style name="customLoginActionBarTabDividerStyle" parent="@style/Widget.Sherlock.ActionBar.TabBar"> 
    <item name="divider">@null</item> 
    <item name="android:divider">@null</item> 
</style> 



<style name="Theme.white_style" parent="@style/Theme.Sherlock.Light"> 
    <item name="actionBarSize">@dimen/loginactionbar</item> 
    <item name="android:actionBarSize">@dimen/loginactionbar</item> 
</style> 

等等這些代碼。

這裏是我的活動代碼

public class SignupLoginActivity extends SherlockActivity implements ActionBar.TabListener { 

public static int THEME = R.style.Theme_Style_Login; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setTheme(THEME); 
    setContentView(R.layout.main); 

    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setCustomView(R.layout.login_actionbar_customeview); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setDisplayShowCustomEnabled(true); 

    actionBar.setLogo(null); 

    View homeIcon = findViewById(
      Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
      android.R.id.home : R.id.abs__home); 
    ((View) homeIcon.getParent()).setVisibility(View.GONE); 
    ((View) homeIcon).setVisibility(View.GONE); 

    /* 
     * For adding tab 
     */ 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     for (int i = 1; i <= 2; i++) {  
      ActionBar.Tab tab = actionBar.newTab(); 
      tab.setText("Tab " + i); 
      tab.setTabListener(this); 
      actionBar.addTab(tab); 
     } 
} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    // TODO Auto-generated method stub 

} 


} 

因此,在這種情況下,我能夠增加動作條的高度,但動作條標籤無法顯示那麼如何實現我想要的結果。

回答

0

最後我achived通過這種方式

<!-- For API Level <11 --> 
<style name="Theme.Style.Login" parent="@style/Theme.Sherlock.Light"> 
    <item name="actionBarTabStyle">@style/customLoginActionBarTabStyle</item> 
    <item name="actionBarDivider">@null</item> // This will remove divider between tabs 
    <item name="actionBarTabTextStyle">@style/customeLoginTabTextStyle</item> // This will increase tab text size 
    <item name="actionBarSize">@dimen/loginactionbar</item> // This will increase actionbar size 
</style> 
<!-- For API Level <11 --> 

<!-- For API Level >=11 --> 
<style name="Theme.Style.Login" parent="@style/Theme.Sherlock.Light"> 
    <item name="android:actionBarTabStyle">@style/customLoginActionBarTabStyle</item> 
    <item name="actionBarDivider">@null</item> // This will remove divider between tabs 
    <item name="android:actionBarTabTextStyle">@style/customeLoginTabTextStyle</item> // This will increase tab text size 
    <item name="android:actionBarSize">@dimen/loginactionbar</item> // This will increase actionbar size 
</style> 
<!-- For API Level >=11 --> 


<!-- For API Level >=14 --> 
<style name="Theme.Style.Login" parent="@style/Theme.Sherlock.Light"> 
    <item name="android:actionBarTabStyle">@style/customLoginActionBarTabStyle</item> 
    <item name="android:actionBarDivider">@null</item> // This will remove divider between tabs 
    <item name="android:actionBarTabTextStyle">@style/customeLoginTabTextStyle</item> // This will increase tab text size 
    <item name="android:actionBarSize">@dimen/loginactionbar</item> // This will increase actionbar size 
</style> 
<!-- For API Level >=14 --> 

<!-- Signup Login Tab Style theme --> 
<style name="customLoginActionBarTabStyle" parent="@style/Widget.Sherlock.Light.ActionBar.TabView"> 
    <item name="android:background">@drawable/actionbar_tabs_selector_loginsignup</item> 
    <item name="android:paddingTop">20dp</item> 
</style> 

<style name="customeLoginTabTextStyle" parent="Widget.Sherlock.ActionBar.TabText"> 
    <item name="android:textColor">@color/countryname</item> 
    <item name="android:textSize">@dimen/logintabtxtsize</item> 
</style> 
+1

你爲什麼不添加一個屏幕截圖,以及慾望的解決方案? :) –