Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android |在导航栏上添加行_Android_Xml - Fatal编程技术网

Android |在导航栏上添加行

Android |在导航栏上添加行,android,xml,Android,Xml,在我的v27\style.xml中,我有以下代码来设置白色导航栏: <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item

在我的v27\style.xml中,我有以下代码来设置白色导航栏:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:navigationBarColor">@android:color/white</item>
    <item name="android:windowLightNavigationBar">true</item>
</style>

@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@android:彩色/白色
真的
它可以工作,但白色导航栏与白色背景“连接”。我想在每个活动中在导航栏上添加一条水平线。我该怎么办

这就是我(在Youtube上)想要的,我用红色矩形突出显示了它:

我认为,对于此类情况,您可能需要自定义工具栏布局,以便以任何方式优化布局

大概是这样的:

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<TextView
    android:id="@+id/tvToolBarTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:textSize="18sp"
    android:text="Toobar"
    android:fontFamily="@font/filson_pro_book"
    android:textColor="@color/white"
    android:visibility="visible"/>

<FrameLayout
    android:layout_gravity="center_horizontal"
    android:background="@color/white"
    android:layout_width="100dp"
    android:layout_height="1dp"/>

</LinearLayout>


我认为,对于此类情况,您可能需要自定义工具栏布局,以便以任何方式优化布局

大概是这样的:

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<TextView
    android:id="@+id/tvToolBarTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:textSize="18sp"
    android:text="Toobar"
    android:fontFamily="@font/filson_pro_book"
    android:textColor="@color/white"
    android:visibility="visible"/>

<FrameLayout
    android:layout_gravity="center_horizontal"
    android:background="@color/white"
    android:layout_width="100dp"
    android:layout_height="1dp"/>

</LinearLayout>


您可能希望在每次打开导航抽屉时添加一条水平线:

    <View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="#FF0000FF"
    android:layout_gravity = "bottom/>

您可能希望在每次打开导航抽屉时添加一条水平线:

    <View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="#FF0000FF"
    android:layout_gravity = "bottom/>

自API 27以来,在名为
navigationBarDividerColor
的样式中有一个属性允许这样做。您可以使用
navigationBarColor
对其进行补充,使其看起来与屏幕截图中的一样

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        ...
        <item name="android:navigationBarColor">@android:color/white</item>
        <item name="android:navigationBarDividerColor">#DBDBDB</item>
    </style>
</resources>

...
@android:彩色/白色
#数据库

自API 27以来,有一个名为
navigationBarDividerColor
的样式属性允许这样做。您可以使用
navigationBarColor
对其进行补充,使其看起来与屏幕截图中的一样

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        ...
        <item name="android:navigationBarColor">@android:color/white</item>
        <item name="android:navigationBarDividerColor">#DBDBDB</item>
    </style>
</resources>

...
@android:彩色/白色
#数据库

你说的线是什么意思?下划线?分隔线?分隔线,我在截图中突出显示了它。检查答案。你说的线是什么意思?下划线?分隔线?分隔线,我在屏幕截图中突出显示了它。检查答案。好的,但是导航栏是自动添加的。。。我必须把这些代码添加到每个布局中吗?正如我所说的-如果你想在整个屏幕上显示这些代码,那么就把它们粘贴到导航代码后面的主布局中。如果你只想在导航中显示这些代码,那么就把它们添加到导航的布局中。如果你想添加布局的xml代码,那么解释起来就容易多了。我有不同的布局。例如,一个布局只有一个LinearLayout,其中包含一个TextView,我用问题中的代码设置导航栏的颜色。我希望在样式文件中插入一个常规参数。好的,但是导航栏是自动添加的。。。我必须把这些代码添加到每个布局中吗?正如我所说的-如果你想在整个屏幕上显示这些代码,那么就把它们粘贴到导航代码后面的主布局中。如果你只想在导航中显示这些代码,那么就把它们添加到导航的布局中。如果你想添加布局的xml代码,那么解释起来就容易多了。我有不同的布局。例如,一个布局只有一个LinearLayout,其中包含一个TextView,我用问题中的代码设置导航栏的颜色。我希望在样式文件中插入一个常规参数。