7

アクティビティのタイトルバー(つまり、 activity.setTitle()およびactivity.setProgress( )を介してアクセスされるもの)の色を変更するためにこれまでに見つけたすべてのソリューションは、次のことを義務付けていFEATURE_CUSTOM_TITLEます。

https://stackoverflow.com/a/2285722/869501

しかし、私はすでに使用してFEATURE_PROGRESSおり、Androidはカスタムタイトルを他のタイトル機能と組み合わせることを禁止しています(AndroidRuntimeExceptionを使用)。私の活動の不可欠な部分であるその素晴らしいプログレスバーをあきらめたくありません。

FEATURE_CUSTOM_TITLEなしでアクティビティのタイトルバーの色を変更する可能性についての唯一のヒントは、別のSOスレッドにありました。

View titleView = getWindow().findViewById(android.R.id.titlebar);
    if (titleView != null) {
      ViewParent parent = titleView.getParent();
      if (parent != null && (parent instanceof View)) {
        View parentView = (View)parent;
        parentView.setBackgroundColor(Color.RED);
      }
    }

しかし、コードをそのまま使用しようとすると、android.R.id.titlebar解決できません!

どこにありますandroid.R.id.titlebarか?

自分で定義する必要がありますか?(答えが「はい」の場合、これは本質的にFEATURE_CUSTOM_TITLEではありませんか?)

4

2 に答える 2

2

短い答え(今のところ、より良い答えが出るまで):いいえ

于 2012-10-24T19:40:23.120 に答える
0

うーん、その冒頭に「android」が付いていなかったとしたら、それはシステムのタイトルバーではないので、FEATURE_CUSTOM_TITLEではないと思います。そこに「アンドロイド」があるので、私は本当に知りません。

これはandroid:theme="@android:style/Theme.NoTitleBar"、マニフェストで実行され、各レイアウトの上部にビューのようなタイトルバーを作成する、以前に行ったことのように見えます。

于 2012-06-29T16:04:39.593 に答える