gpt4 book ai didi

android - 在对其应用自定义 View 之前,actionbar 会显示一段时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:45:47 26 4
gpt4 key购买 nike

我使用 Google 提供的支持库中的 ActionbarActivity。我为我的操作栏创建了一个自定义 View ,其中包含按钮和附加到右侧的图像。问题是,一旦 Activity 开始,我就会看到操作栏的默认标题(应用程序名称)和 android 启动器图标(甚至不是我的启动器图标)出现在左侧一段时间,然后应用我的自定义 View 。我该如何解决这个问题。我在 onCreateView() 之后和之前调用了以下代码,但没有成功。我还有另一个问题,即使在设置了自定义 View 后,它仍然保留其带有 android Logo 图标的图标而不是我的启动器图标。

this.getSupportActionBar().setDisplayShowCustomEnabled(true);
this.getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
LayoutInflater inflator = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View v = inflator.inflate(R.layout.title_view, null);
TextView tvTitle = (TextView) v.findViewById(R.id.actionbar_title);
this.getSupportActionBar().setCustomView(v);

编辑 1:图标问题解决了。我将支持库添加为单独的项目。显然,支持库中的启动器图标替换了我的启动器图标。我从支持库项目中删除了所有资源,现在我的图标正常显示了。当然,主要问题仍然存在。

最佳答案

好吧,我为此做了一些工作

我更改了我制作的操作栏的样式,使其具有透明图标和文本

<style name="MyTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>


<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="android:icon">@android:color/transparent</item>
<item name="android:background">@drawable/actionbar_bg</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@android:color/transparent</item>
</style>

2- 然后在 setupActionBar() 方法中我手动设置颜色

private void setupActionBar() {
getSupportActionBar().setDisplayShowHomeEnabled(false);
this.getSupportActionBar().setDisplayShowTitleEnabled(false);
this.getSupportActionBar().setDisplayShowCustomEnabled(true);


LayoutInflater inflator = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.title_view, null);
TextView tvTitle = (TextView) v.findViewById(R.id.actionbar_title);
tvTitle.setTextColor(getResources().getColor(R.color.white));
....
}

关于android - 在对其应用自定义 View 之前,actionbar 会显示一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978966/

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