当前位置: 首页 > 知识库问答 >
问题:

工具栏背景不调整,标题不显示-android

雷骁
2023-03-14

我试图创建一个工具栏,它使用了我在png文件中创建的背景。现在,当我在xml中使用背景时,android studio中的布局编辑器显示的结果正好是预期的。当我在虚拟设备中运行应用程序时,问题就来了。背景没有调整到工具栏,结果只显示了它的一部分。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/app_bar_styled"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clipToPadding="false"
    android:elevation="15dp">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_styled"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:elevation="15dp"
        android:theme="@style/AppTheme.AppBarOverlay.Styled">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/action_bar_background"/>
    </android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<style name="AppTheme.AppBarOverlay.Styled" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="android:background">@drawable/action_bar_background</item>
        <item name="android:titleTextStyle">@style/ToolBarTitleStyle</item>
    </style>
<style name="ToolBarTitleStyle" parent="Base.TextAppearance.AppCompat">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">16dp</item>
    </style>
toolbar = (Toolbar) findViewById(R.id.toolbar_styled);
toolbar.setTitle(R.string.app_name);

setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(true);

虚拟设备:https://i.gyazo.com/5bbd9bf5a2df1727278ba9e78efd622b.png

共有1个答案

锺伟志
2023-03-14

您需要像这样嵌套它:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cor_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="256dp">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_styled"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:elevation="15dp"
            android:theme="@style/AppTheme.AppBarOverlay.Styled">
                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:src="@drawable/action_bar_background"/>
            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

然后这样设置它们:

   toolbar= (Toolbar) findViewById(R.id.toolbar);
    collapse=(CollapsingToolbarLayout) findViewById(R.id.collapseToolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    collapse.setTitle("Title");
    collapse.setCollapsedTitleTextColor(Color.parseColor("#FFFFFF"));
    collapse.setExpandedTitleColor(Color.parseColor("#FFFFFF"));
    collapse.setStatusBarScrimColor(Color.parseColor("#FFFFFF"));
 类似资料:
  • 当我运行应用程序,工具栏显示,但不是标题。如何显示标题?谢了。

  • 我正在开发一个swing应用程序(让我们忽略为什么)。 我需要做一个自定义设计的滚动条。到目前为止还不错,我实现了我的ScrollBarUI后代-我有自定义按钮,自定义拇指,自定义轨道...除了按钮周围的区域-我在那里添加了一些填充,我想把我所有的滚动条包装成一个圆角矩形。 由于我在ScrollBarUI中没有找到这样做的方法,我决定扩展JScrollPane(扩展那里使用的ScrollBar,这

  • 问题内容: 我正在尝试使用以下方法将状态栏背景色填充为橙色 但是,我从下面的示例中得到一个白色的状态栏,该栏应该用橙色填充:快速自定义导航栏外观 我在 didFinishLaunchingWithOptions* 方法下的 AppDelegate.swift 文件中进行设置,以将其应用于整个应用程序。 * 我已经将 info.plist 编辑为以下内容: 有人知道我在做什么错吗? 编辑:我不确定是

  • 问题内容: 这是一个非常简单的程序,我已尽力而为,但JPanel并未提供背景图片。我只希望面板上有一个简单的背景图像。 这是我的代码: 提前致谢 问题答案: 更换 与

  • 因此,我正在编写一个程序,在这个程序中,我最终希望一个按钮在按下时改变颜色。到目前为止,我的困境是: -尽管切换了setOpaque()和setContentAreaFilled()的真/假,但我无法获取当前设置为显示背景色的JButton。在尝试添加ActionListener之前,我希望能够做到这一点。 -我想用类似于JToggleButton()的东西来改变颜色,但是我想用背景而不是图标来改