在工具栏android下添加边框

时间:2018-04-25 20:24:39

标签: android xml android-layout android-toolbar

我正在尝试添加一个如下所示的边框: https://imgur.com/a/r8rHGQl

我的toolbar.xml:     

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:elevation="1dp"
app:theme="@style/AppTheme"
app:titleTextAppearance="@style/TitleText"
app:titleTextColor="@color/colorPrimaryText"

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

在我的java代码中我做: toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); 并夸大菜单。

如果我尝试在相对/线性/约束布局中嵌套工具栏并在底部添加一个View,我得到“android.widget.LinearLayout无法转换为android.support.v7.widget.Toolbar”错误

还尝试<include一个内部带有View的布局,但然后该行出现在我的工具栏中间,我的标题消失了。

还包括我的menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item1"
android:icon="@drawable/main_btn_info"
android:title="Item 1"
app:showAsAction="always"/>
</menu>

2 个答案:

答案 0 :(得分:0)

制作了另一个带边框的布局并将其包含在每个活动中,我知道这不是最好的方法,但现在的结果是一样的。

答案 1 :(得分:0)

  1. 使用视图在线性布局内创建工具栏

    <LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    
       <android.support.v7.widget.Toolbar    
       android:id="@+id/toolbar_main"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@color/colorPrimary"
       android:elevation="1dp"
       app:theme="@style/AppTheme"
       app:titleTextAppearance="@style/TitleText"
       app:titleTextColor="@color/colorPrimaryText"/>
    
       <View 
       android:background="your border color"
       android:layout_width="match_parent"
       android:layout_height="2dp" />
    
    </LinearLayout>
    
  2. 在所有布局中包含此内容。

  3. 然后使用工具栏ID而不是xml名称

    在活动中找到工具栏
    toolbar = findViewById(R.id.toolbar_main); 
    setSupportActionBar(toolbar);