从应用中删除工具栏

时间:2018-04-23 10:13:24

标签: android xml android-layout

我想从XML文件中的应用中删除工具栏,在图片中查看红色框。

代码为:

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

我删除了上面的代码,在运行应用程序时它崩溃了。为什么这样以及如何在我的文件中删除该工具栏?

完整代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:id="@+id/dlMain"
    android:visibility="visible"
    android:layout_height="match_parent"
    android:keepScreenOn="true"
    tools:context="com.namarsaham.society.jainvidhya.WebViewActivity">
    <LinearLayout
        android:id="@+id/dllayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

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

            <im.delight.android.webview.AdvancedWebView
                android:id="@+id/webview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:visibility="visible"/>


    </LinearLayout>

</android.support.v4.widget.DrawerLayout>

我的主题代码:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

4 个答案:

答案 0 :(得分:1)

如果您使用自动生成的Activity,它在onCreate

中有一行代码
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

如果你从xml中删除了工具栏,那么随后使用它将是一个问题并导致它崩溃(工具栏将为null)。

可能是因为这个原因。您可以尝试删除活动文件中与工具栏相关的所有代码,或者更好的是,只需隐藏/设置工具栏的隐藏即可。它满足您的要求,不显示工具栏,您不必担心它会崩溃。

答案 1 :(得分:0)

尝试此操作以隐藏java文件中的标题栏

requestWindowFeature(Window.FEATURE_NO_TITLE);

您可以设置如下的应用主题: -

<application

    android:theme="@style/AppTheme" />

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">

   <item name="windowNoTitle">true</item>
   <item name="android:windowNoTitle">true</item>
</style>

您也可以在manifest.xml文件下面的下面尝试:

适用于app:

<application android:theme="@android:style/Theme.Black.NoTitleBar">

对于特定活动:

<activity android:theme="@android:style/Theme.Black.NoTitleBar">

答案 2 :(得分:0)

将其放入活动/片段

View toolbar = getActivity().findViewById(R.id.toolbar)

if(toolbar != null){
  toolbar.setLayoutParams(new LinearLayout.LayoutParams(0, 0));
}

答案 3 :(得分:-1)

只需添加此行 android:visibility =“gone”

 <include  layout="@layout/toolbar"
              android:id="@+id/toolbar"
              android:visibility="gone"  />