如何在动作栏中设置边框底部?

时间:2014-04-09 14:50:50

标签: android android-actionbar xamarin.android

如何绘制动作条底部边框,如下所示:

enter image description here

我尝试使用保证金:

<style name="MyActionBar"
        parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:titleTextStyle">@style/TitleTextStyle</item>
        <item name="android:background">#088A29</item>
        <item name="android:backgroundStacked">#088A29</item>
        <item name="android:backgroundSplit">#0B3B0B</item>
        <item name="android:layout_marginBottom">5dp</item>

但是边距是白色的,我不明白如何改变颜色

谢谢!

3 个答案:

答案 0 :(得分:11)

对我而言,以下解决方案完美而顺畅。

<style name="MyActionBar"
    parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:titleTextStyle">@style/TitleTextStyle</item>
    <item name="android:background">@drawable/custom_background_bar</item>
    <item name="android:layout_marginBottom">5dp</item>

当然我构建了我保存为drawable forlder的custom_background_bar。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle" >
      <solid android:color="#ffff0000" />
    </shape>
  </item>
  <item android:top="-3dp" android:right="-3dp" android:left="-3dp">
    <shape>
      <solid android:color="@android:color/transparent" />
      <stroke
          android:width="2dp"
          android:color="#ff00ff00" />
    </shape>
  </item>
</layer-list>

您可以使用您喜欢的值自由更改#ffff0000(背景条颜色)和#ff00ff00(底部边框颜色)。 您还可以更改边框的粗细和样式,或在图层列表中添加其他形状和元素。 您还可以再次设置另一个drawable作为背景,并根据需要提供阴影或透明度。

我希望它会有所帮助。

答案 1 :(得分:3)

Play报亭使用自定义的9补丁,其ActionBar背景为小阴影。

但通常可以使用windowContentOverlay attributeActionBar应用于您的主题,从而更改Drawable下方的阴影。

以下是一个例子:

<style name="Your.Theme" parent="@android:style/Theme.Holo">
    <item name="android:windowContentOverlay">@drawable/your_drawable</item>
</style>

以下是Play报亭使用的9补丁:

或者,您可以使用Action Bar Style Generator,它会自动将其添加到ActionBar后台Drawable

答案 2 :(得分:0)

如果您对应用进行解码,则可能会发现它是.9.png enter image description here