2013年3月19日火曜日

[Android]カスタムタイトルバーのException回避ってどうやるの

カスタムタイトルバー使おうとしたらこんな感じに怒られたよ
android.util.AndroidRuntimeException: You cannot combine custom titles with other title features

回避方法探したよ!
そもそものカスタムタイトルバーの使い方はこちらがすごい参考になるよ
Android カスタムタイトルバーを使う

一応簡単に使い方載せとくと、
タイトルバー用のリソース用意して、
onCreate()でこの3連コンボ決めるんだね。
requestWindowFeature()⇒setContentView()⇒getWindow().setFeatureInt()

で、setContentView()したら怒られましたっていうのが今回の話。
結論としてはTheme.Holoがいけないから他のテーマに変えましょう!です。
 <activity android:name=".hogeActivity"
     android:theme="@android:style/Theme" />

requestWindowFeature()はgetWindow().requestFeature()呼んでるわけだけど、
developerにこんなこと書いてるよ。
"You canot use other title features with FEATURE_CUSTOM_TITLE."
訳:串カツのたれは2度漬しちゃあきまへんで!

デフォルトのテーマHoloはカスタムタイトルバーを使ってるんじゃないかな。
設定メニューとかみるとアプリアイコン出てるし!
というわけでカスタムタイトルバーを使ってないテーマに変更すればOK
タイトルバーを単色にしちゃうとかでも回避できるかな。

0 件のコメント:

コメントを投稿