gpt4 book ai didi

android - android中的标题/操作栏ID?

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:08 25 4
gpt4 key购买 nike

我想试试这个 funny title bar coloring , 但它对我不起作用

getWindow().findViewById(android.R.id.title);

返回空值。所以我用 Hierarchy Viewer 查看了它,发现该 View 被称为 id/action_bar 。但是没有 R.id.action_bar(自动完成不提供它,R.java 也没有)。

所以现在我很困惑:

  • android.R.id.title 现在有点过时了吗(我在我的模拟器中使用版本 16)?
  • id/action_bar 来自哪里?
  • 什么是推荐的简单做法 w.r.t.兼容性?

我应该得到 ActionBarSherlock 吗?我最初只是想更改标题栏的颜色...而不是胡思乱想。

最佳答案

使用下面的代码获取 ActionBar 的 id:

val actionBarId = resources.getIdentifier("action_bar", "id", packageName)

然后使用findViewById 可以找到操作栏。

然后从actionbar的children中找到title(一般情况下):

val actionbar = findViewById<ViewGroup>(actionBarId)
for (view in actionbar.children) {
if (view is TextView) {
// this is the titleView
}
}

但是,如果您只想更改标题 View 的文本,只需使用 getSupportActionBar:

supportActionBar?.apply {
// set title text
title = "Hello"
// set colored title text
val coloredTitle = SpannableString("Hello")
coloredTitle.setSpan(ForegroundColorSpan(Color.RED), 0, coloredTitle.length, 0)
title = coloredTitle
}

关于android - android中的标题/操作栏ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041486/

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