如何在底部导航栏上绘制顶部边框

时间:2014-04-06 20:05:23

标签: android xml android-layout navbar

我试图在Android应用上的底部导航栏顶部绘制边距。这就是我现在所拥有的:

this is my app now

我想要实现的是底栏上的黑色顶部边框。我使用拆分操作栏创建了它。这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
        parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionBarSplitStyle">@style/MyBottomBar</item>

    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
        parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="@android:background">@color/white</item>
        <item name="@android:textColor">@color/black</item>
    </style>

    <!--bottom bar style-->
    <style name="MyBottomBar">
        <item name="android:backgroundSplit">@color/white</item>
    </style>

    <!-- ActionBar title text -->
    <style name="MyActionBarTextStyle"
        parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
            <item name="@android:textColor">@color/black</item>
    </style>

</resources>

我不知道我需要给底部栏提供什么,Android的文档并不是那么清楚。请帮帮我!谢谢大家!

1 个答案:

答案 0 :(得分:1)

您需要在drawable文件夹中创建一个新的.xml文件。你可以称之为“bottom_navbar_background.xml”。在文件上绘制一个矩形,如:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:bottom="1dp">
        <shape
            android:dither="true"
            android:shape="rectangle">
            <corners android:radius="2dp" />

            <solid android:color="@color/black" />
        </shape>
    </item>

    <item android:top="1dp">
        <shape
            android:dither="true"
            android:shape="rectangle">


            <solid android:color="@android:color/white" />

            <padding
                android:bottom="0dp"
                android:left="0dp"
                android:right="0dp"
                android:top="0dp" />
        </shape>
    </item>

</layer-list>

将它作为splitNavbar的自定义主题的背景,如下所示:

<item name="android:backgroundSplit">@drawable/bottom_navbar_background</item>

et voila:你的导航栏上有顶部边框!