【问题标题】:How to remove divider between Toolbar and RelativeLayout如何删除 Toolbar 和 RelativeLayout 之间的分隔线
【发布时间】:2015-06-20 07:35:50
【问题描述】:

我在android.support.v7.widget.Toolbar 下方有RelativeLayout。它们都有相同的颜色。我怎样才能摆脱他们之间的分隔符? 这是xml代码:

 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:background="@color/HomeColorPrimary"
        android:minHeight="?attr/actionBarSize"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
    </android.support.v7.widget.Toolbar>

    <RelativeLayout
        android:layout_below="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="120dp"
        android:id="@+id/spaceBelowToolbar"
        android:background="@color/HomeColorPrimary"
        android:orientation="vertical"
        android:elevation="4dp">
    </RelativeLayout>

这是完整的 xml 文件:

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/mainBody"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fab="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/MainBG">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:background="@color/HomeColorPrimary"
        android:minHeight="?attr/actionBarSize"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
    </android.support.v7.widget.Toolbar>

    <RelativeLayout
        android:layout_below="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="120dp"
        android:id="@+id/spaceBelowToolbar"
        android:background="@color/HomeColorPrimary"
        android:orientation="vertical"
        android:elevation="4dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="42dp"
            android:layout_alignParentLeft="true"
            android:id="@+id/MoneyValue"
            android:textColor="@color/md_white_1000"
            android:textSize="45sp"
            android:text="$850"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/MoneyValue"
            android:id="@+id/Balance"
            android:layout_marginLeft="42dp"
            android:textSize="25sp"
            android:textColor="@color/md_grey_300"
            android:text="BALANCE"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="180dp"
            android:id="@+id/PercentageValue"
            android:textColor="@color/md_white_1000"
            android:textSize="45sp"
            android:text="93%"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/PercentageValue"
            android:textColor="@color/md_grey_300"
            android:id="@+id/Budget"
            android:layout_marginLeft="180dp"
            android:textSize="25sp"
            android:text="BUDGET"/>

    </RelativeLayout>
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listViewLayout"
        android:layout_below="@+id/spaceBelowToolbar"
        >
        <ExpandableListView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp">


    <com.github.clans.fab.FloatingActionMenu
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="15dp"
        android:layout_marginBottom="30dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        fab:menu_labels_style="@style/MenuLabelsStyle"
        fab:menu_labels_showAnimation="@anim/jump_from_down"
        fab:menu_labels_hideAnimation="@anim/jump_to_down"
        fab:menu_animationDelayPerItem="0"
        fab:menu_shadowColor="#444"
        fab:menu_colorNormal="#FFB805"
        fab:menu_colorPressed="#F2AB00"
        fab:menu_colorRipple="#D99200">

    </com.github.clans.fab.FloatingActionMenu>
    </RelativeLayout>

</RelativeLayout>
</RelativeLayout>

【问题讨论】:

  • 请添加整个 XML。需要看看Toolbar和RelativeLayout在哪个ViewGroup里面。
  • 设置工具栏 app:elevation="0dp"

标签: java android toolbar


【解决方案1】:

对我来说最简洁和最简单的答案是根据评论应用它。但是,由于我的工具栏被应用覆盖层包裹,因此我必须将其应用到 AppBarLayout 小部件才能使其工作。

<!--takes away line with app elevation set to 0 -->
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:elevation="0dp">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@drawable/email_bg"
            app:popupTheme="@style/AppTheme.PopupOverlay">

        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>

【讨论】:

    【解决方案2】:

    您可能需要为 ActionBar 设置自定义背景和自定义样式。尝试使用这个动作栏主题,它应该设置一个完全纯色的背景(没有分隔线):

    <!-- Base application theme. -->
    <style name="AppTheme"
        parent="@android:style/Theme.Holo.Light">
        <!--this removes the shadow under the action bar-->
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
    </style>
    
    <!-- ActionBar styles -->
    <style name="MyActionBarStyle"
        parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
        <item name="android:background">@color/HomeColorPrimary</item>
    </style>
    

    【讨论】:

    • 我更新了我的答案,我的更新已经过测试并且对我有用。
    • 当我将parent="@android:style/Theme.Holo.Light" 设置为AppTheme 时,它给了我错误:AppCompat does not support the current theme features,否则分隔线仍然不走。我已将"MyActionBarStyle" 设置为工具栏。
    猜你喜欢
    • 2016-11-19
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多