2012-02-03 16 views
1

私は自分のアプリでカスタムタイトルバーを使用していますが、アプリが起動するとすぐに元の(標準)アンドロイドのタイトルバーが表示されますそれは私のカスタムタイトルバーに置き換えられます。起動時にカスタムタイトルバーが表示される

「遅延」が明白でないためにアプリが既にメモリに読み込まれているときに問題はありませんが、アプリがまだメモリにない場合は非常に明白です。

コードについての特別なものは何もありません:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.main); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title); 

私は、ウィンドウのタイトルを持っていないし、ちょうどレイアウトの上で私のカスタムタイトルを含むが、それはないと思えるし、スタイルを変更する方法について考えました。

ありがとうございます。

+0

あなたはエミュレータ上での話をしている場合、それはです悪名高いほど遅い。まだ電話で試してみましたか? –

+0

はい。私はこの行動を電話で見る。私はちょうどウィンドウのタイトルとのメインレイアウトの私のタイトルのレイアウトを持っていない私のテーマを変更しようとしました。治療をしますが、これは本当に**正しい方法ですか?このアプローチの欠点は何ですか? – Horrendo

+0

私は確信していませんが、私はタイトルバーを削除しますが、カスタムタイトルバーはまだありません。 –

答えて

0

次のものが適切

+0

ありがとう、しかし、私はむしろこの道を踏み出すつもりはない。そこにカスタムタイトルバーを使用するようだと私は持っている問題を抱えていないアプリがたくさんあります。プラス私はスプラッシュ画面が迷惑なのを見つける;-)。 – Horrendo

0

をロードするための十分な時間を持っている必要があり、主な活動がロードされる前にスプラッシュ画面の活動を追加するには、あなたのアプリのためのグローバルカスタムタイトルを設定するには、アプリのテーマを使用することができますか?かなり良い例ではSee hereです。私は同様の問題を抱えていました。

+0

ありがとうございます。残念ながら、この例では実際にはスタイルを使用して標準タイトルバーの外観を変更していました。カスタムタイトルバーには独自のレイアウトがあり、スタイルを使って定義することはできません。 – Horrendo

+0

私は自分のアプリのために何をしたのか思い出しました。私は上記のカスタムテーマとオリジナルのカスタムタイトルソリューションの両方を使用しました。私のアプリのテーマは、最終的に読み込まれる「実際の」カスタムタイトルバーと一致する正しいサイズと色のタイトルバーになります。アプリの起動中に2秒間表示される愚かな小さな灰色のものよりもはるかに厄介です。 – hankystyles

1

Thomas Devauxはスマートなソリューションを投稿しました。それは私のアプリで働いた

"@android:color/transparent"という色を使うようにwindowTitleBackgroundStyleを変更してください。 また、テキスト "android:windowTitleStyle"のスタイルを作成し、その "android:textColor">も透明に設定します。 LLUIS'答えに完全については

+1

リンクの関連部分をこの回答にコピーする必要があります。そうしないと、リンクが消滅したときに回答が無駄になります。 –

+0

@ George:私は答えで完全なコードを提供しました。 –

1

、ここでは、カスタム・タイトルが開始される前に、デフォルトのタイトルを非表示にする必要があり、完全なコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="CustomWindowTitleStyle"> 
     <item name="android:textColor">@android:color/transparent</item> 
    </style> 

    <style name="CustomTheme" parent="@android:style/Theme.Holo"> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowTitleBackgroundStyle">@android:color/transparent</item> 
     <item name="android:windowTitleSize">50dp</item> 
     <item name="android:windowTitleStyle">@style/CustomWindowTitleStyle</item> 
    </style> 

</resources> 
関連する問題