I'm trying to customize Tabs on my ActionBar. I just want to align tabs to phone screen and make it stretchable for various screens. But all I get is this:
The code I use for the theme is this:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarTabTextStyle">@style/MyActionBarTabTextStyle</item>
</style>
<style name="MyActionBarTabTextStyle" parent="@android:style/Widget.Holo.Light.Tab">
<item name="android:textSize">14dip</item>
<item name="android:padding">0dip</item>
</style>
</resources>
Is it possible just decrease the font and get rid off those blue lines?
Thanks for help in advance.
P.S.: Also the Button acts weird. The is no text (while it should be)...
Change to:
I strongly recommend that you use ViewPagerExtensions library, it give you 5 different styled tabs to you choose from, also the problem that you have to fill tabs in portrait and landscape ,ode for each screen size is already solved in this library.
By the way, if you look inside the library´s code, you can easy theme this yourself.
Also, if you have trouble implementing this with fragment page, look actionbarsherlock-tabs-multi-fragments
I think you're inheriting from the wrong style, try:
EDIT: also, make sure you use sp instead of dip for font size (14sp)
I have found using style guides for the tabs to very inconsistent for honeycomb, It was much easier to just inflate a custom view that does want you want.
This to me was much simpler,
There's a brand new tool to generate the correct 9patch images for the actionbar : http://jgilfelt.github.com/android-actionbarstylegenerator/
Edit: Use
ActionBarCompat
in the support library.I suggest you use Jake Wharton's ActionBarSherlock for two reasons:
ActionBarSherlock is an extension of the compatibility library that facilitates the use of the action bar across all versions of Android. This means users running your application on pre-HoneyComb versions of Android will be able to use the
ActionBar
for navigation as well. This is preferable to both the user (since theActionBar
is awesome!) and to you (since you don't have to worry about separating the control flow of your application based on whether or not theActionBar
will be available. For instance, without a pre-HoneyComb compatibleActionBar
, you might have to worry about creating multipleActivity
s for a single screen... one that is optimized for usage with theActionBar
, and one that can be run on pre-HoneyComb devices.With ActionBarSherlock, styling your ActionBar is easy! I could go into detail on how to do it, but the library already comes with a LOT of sample code that illustrates how to what you are describing above.
Installing/making use of the library is very easy and is almost identical to making use of the normal
ActionBar
provided in the Android SDK (mostly just callgetSupportActionBar()
instead ofgetActionBar()
). If you have any questions, let me know.p.s. Also note that
ActionBarSherlock
provides all of the functionalities that the ViewPagerExtensions library provides and more. I would definitely recommend using the former over the latter.