我构建应用程序时不会出现自定义工具栏

时间:2018-02-28 01:00:23

标签: android android-studio android-toolbar

我决定制作自己的工具栏

所以我删除常规工具栏:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="false"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar> //removetollbar

并制作我自己的工具栏

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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

然后我包含在主xml

<include
    layout="@layout/customtoolbar"
    android:id="@+id/custombar" >

</include>

并在我设置的代码中:

_CustomToolBar = (android.support.v7.widget.Toolbar) 
findViewById(R.id.custombar);
setSupportActionBar(_CustomToolBar);
android.support.v7.widget.Toolbar _CustomToolBar;
  

现在应用程序运行自定义工具栏时没有

请帮助

1 个答案:

答案 0 :(得分:0)

根据我的经验。要创建 CustomToolbar ,您的步骤是正确的。 但是我发现找到 CustomToolbar 查看是错误的。

我尝试解析您的代码。

  1. 添加主题 NoActionBar 以删除默认工具栏。 [正确]
  2. 创建布局 CustomToolbar ,如:
  3. &#13;
    &#13;
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/custom_toolbar"   // i adding id for custom toolbar
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
    
    </android.support.v7.widget.Toolbar>
    &#13;
    &#13;
    &#13;

    1. 在Main xml中包含 CustomToolbar 。 [正确]
    2. 要设置 CustomToolbar ,您必须在main(父级)中查找工具栏(子视图)。根据您的情况,您在“包含”视图中包含工具栏。所以代码应该是:
    3. &#13;
      &#13;
      View parentView = (View) findViewById(R.id.custombar); // this ID layout include
      Toolbar _CustomToolBar = (Toolbar) parentView.findViewById(R.id.custombar); // this ID CustomToolbar
      setSupportActionBar(_CustomToolBar);
      &#13;
      &#13;
      &#13;

      <强>更新

      我的回答是错误的,问题不在于findViewById。在我再次看到之后,你的代码没有任何问题。 但我的建议是尝试为 CustomToolbar 创建不同的样式,以便您可以看到不同的样式。像:

      <?xml version="1.0" encoding="utf-8"?>
      <android.support.v7.widget.Toolbar
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         // you can give background for example
         android:background="@android/color/black" >
      
      </android.support.v7.widget.Toolbar>
      

      希望这有帮助......谢谢你。