如何摆脱android上操作栏底部的边框

时间:2013-01-15 14:37:33

标签: android android-actionbar actionbarsherlock

我刚刚开始使用动作栏sherlock,我一直在努力解决动作栏底部显示的边框。 我很确定问题不是由背景图像引起的。

 <style name="Theme.MyTheme" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarItemBackground">@drawable/states_of_actionbar</item>
    <item name="actionBarItemBackground">@drawable/states_of_actionbar</item>
    <item name="actionDropDownStyle">@style/DropDownStyle</item>
    <item name="android:actionDropDownStyle">@style/DropDownStyle</item>
</style>

<style name="Widget.MyTheme.ActionBar" parent="android:Widget.Holo.ActionBar">
    <item name="android:background">@drawable/action_bar_bg</item>
    <item name="background">@drawable/action_bar_bg</item>
    <item name="android:src">@drawable/action_bar_bg</item>
</style>

我尝试在值和&amp;中定义上述样式(背景)。价值观14,但没有运气..

我的猜测是它受到全息风格的影响..

如何摆脱厚边框?

以下是澄清我问题的图片:

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为您尝试使用XY重复背景图像或平铺作为操作栏背景,因此问题是您的背景图像的高度不足以覆盖操作栏高度,并且该粗边框是下一个Y平铺图像的结果。
您可以通过增加图像高度来解决此问题。 或者,您可以使用类setTileModeXY(TileMode.REPEAT, TileMode.CLAMP)android.graphics.drawable.BitmapDrawable的方法使图像在水平重复图像时拉伸其高度,然后应用为操作栏背景。
这里的示例代码:

void onCreate(Bundle savedInstanceState) {
        BitmapDrawable bg = (BitmapDrawable)getResources().getDrawable(R.drawable.your_image); // get the image as bitmap drawable
        bg.setTileModeXY(TileMode.REPEAT, TileMode.CLAMP); // set the TileMode.
        getSupportActionBar().setBackgroundDrawable(bg); // applied to actionbar      
}