10

我使用ActionBarSherlock是否有可能使ActionBar选项卡高度高于ActionBar高度?如果是这样,怎么样?

在动作条左右高度的标签类似的问题,我用:

<style name="YourTheme" parent="@android:style/Theme.Holo"> 
    <item name="android:actionBarStyle">@style/blah1</item> 
    <item name="android:actionBarTabStyle">@style/blah2</item> 
    <item name="android:actionBarSize">80dp</item> 
    .. 
</style> 

而且我认为我可以在每一种风格,而不是

<item name="android:actionBarSize">80dp</item> 

使用这个特定的属性并从ActionBar选项卡高度单独调整ActionBar高度。

但它不起作用。

那么,这是一个我不能重写的Android设计原理吗?

标签必须始终与ActionBar高度相同。

回答

0

我不是100%的,但从我的经验来看,它不能做到,android不允许。也许这将在未来发生变化,但目前没有太多可以做到的事情。

希望这会有所帮助!

0

您是否尝试使用自定义操作栏?您可以使用单独的布局完全自定义操作栏。

这个sample会告诉你如何。

0

你可以重写android设计原则的操作栏,我试过了,它可能适合你。

拷贝到styles.xml文件以下代码

<style name="ThemeSelector" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/myTheme.ActionBar</item> 
</style> 

<style name="myTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">imageforactionbar</item> 
    <item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item> 
    <item name="android:height">60dp</item> 
</style> 

1)将图像中的可拉伸夹

2)写入风格主题 'myTheme.ActionBar.Text' 在样式XML 。

<style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textSize">@dimen/app_head</item> 
</style> 

相应更改清单文件,包括

android:theme="@style/ThemeSelector" 

下应用的标签。

0

可以重写操作栏

getWindow()setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.action_bar)。

android:layout_width="@dimen/action_BarWidth" 
android:layout_height="@dimen/action_BarHeight" 
0

不,您不能更改ICS上本机操作栏的大小。原生动作栏的高度始终为48dip(人像)或40dip(风景)。

但是如果你坚持改变它的高度,你可以实现你自己的操作栏。

0

我们可以动态地从代码的Java类或主题创建行动起来吧:

第1步:我们可以为特定的类改变形象,名称,颜色,高度...等动作吧这是一个过程。

ActionBar actionBar = getActionBar(); 
    // show the action bar title 
    actionBar.setDisplayShowTitleEnabled(true); 
    LayoutParams test = new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT, Gravity.CENTER | Gravity.CENTER); 
    View actionBarView = LayoutInflater.from(this).inflate(
      R.layout.x, null); // layout which contains your 
              // button. 
    actionBar.setCustomView(actionBarView, test); 
    actionBar.setDisplayShowCustomEnabled(true); 

    SpannableString s = new SpannableString("Test"); 
    s.setSpan(new ForegroundColorSpan(Color.parseColor("#ffffff")), 0, 
      s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

    // Update the action bar title with the TypefaceSpan instance 
    actionBar.setTitle(s); 
相关问题