gpt4 book ai didi

Android - 指定每个 fragment 的主题

转载 作者:行者123 更新时间:2023-11-29 02:25:52 25 4
gpt4 key购买 nike

我尝试使用一个 Activity 多 fragment 方法编写一个应用程序。有些页面应该有半透明的工具栏,但其他页面则没有。

new MyFragment(isTranslucentToolbar)

但是主题属性属于应用。

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme">

如果我如下设置此属性,则无法更改 fragment 的主题。

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDisablePreview">true</item>
</style>



<style name="AppTheme.Transparent" parent="AppTheme">
<item name="windowActionBarOverlay">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>

如果我将主题设置为透明,如何创建带有非半透明工具栏的 fragment ?我可以以编程方式安排 fragment 根布局和状态栏颜色的边距和填充值。

这是这个任务的任何方式吗?

最佳答案

在启用 ActionBar 的情况下保持正常的主题。

当你想隐藏/显示 ActionBar 时:

activity.getSupportActionBar().hide(); //for AppCompatActivity
activity.getActionBar().hide(); //for Activity

activity.getSupportActionBar.show(); //for AppCompatActivity
activity.getActionBar().show(); //for Activity

当你想改变状态栏的半透明时:

activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

关于Android - 指定每个 fragment 的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com