【问题标题】:Android: Change App bar height of one fragment and delete textAndroid:更改一个片段的应用栏高度并删除文本
【发布时间】:2020-08-14 09:12:29
【问题描述】:

我想更改某个fragment_layout的应用栏。我想更改默认值"56dp" to "96dp" 的高度以适合我的公司徽标。我也想删除默认文本。

很遗憾,我在互联网上没有找到任何关于此的参考或忽略了它。

我会很高兴得到任何帮助。

编辑:我知道如何更改整个应用的应用栏高度,但这不是这里的问题 :)

【问题讨论】:

    标签: java android xml kotlin android-fragments


    【解决方案1】:

    让我们看看工具栏是如何在布局中声明的。

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:minHeight="?attr/actionBarSize"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:titleTextColor="@color/colorTextMain"
            android:background="@color/colorPrimary">
    
        </androidx.appcompat.widget.Toolbar>
    

    注意属性android:minHeightandroid:layout_height="wrap_content

    MinHeight 属性将自身引用到 ?attr/actionBarSize,其值为 56dp。

    1) 改变工具栏高度变化android:layout_height

    示例:android:layout_height="300dp"

    2) 要删除默认文本,您必须从代码中找到工具栏并使用方法。将此添加到包含工具栏的布局的 setContentView 所在的类中。

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(false);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    

    结果:

    【讨论】:

    • 谢谢,我猜它有效吗?我在 layout.xml 中声明了&lt;androidx.appcompat.widget.Toolbar&gt;,但这并没有改变现有的工具栏,而是添加了一个新的工具栏?我是不是做错了什么?
    • 您是否以编程方式添加了工具栏?您的活动风格是否扩展了 .NoActionBar?
    • 不,我的 AppTheme 是“Theme.MaterialComponents.Light.DarkActionBar”。我应该将其更改为 .NoActionBar 吗?但是为每个片段添加一个工具栏需要做很多工作..
    • 改成 Theme.MaterialComponents.Light.NoActionBar
    • 但这是最好的方法吗?我的意思是我想更改一个片段的应用栏高度,并且必须删除其他所有人的默认高度。我有超过 15 个片段,这意味着我必须为每个片段添加一个工具栏?有没有办法在一个地方声明一个特定的默认应用栏以便重用它?
    猜你喜欢
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    相关资源
    最近更新 更多