[解決済み] appcompat-v7 のツールバーを Theme.AppCompat.Light.DarkActionBar のようにスタイルするには?
質問
の外観を再現しようとしています。
Theme.AppCompat.Light.DarkActionBar
の外観を、新しいサポート ライブラリ Toolbar で再現しようとしています。
もし私が
Theme.AppCompat.Light
を選ぶとツールバーが明るくなります。
Theme.AppCompat
を選ぶと暗くなります。(厳密には
.NoActionBar
バージョンを使用しなければなりませんが、私の知る限りでは、違いは
<style name="Theme.AppCompat.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
これで
Theme.AppCompat.Light.DarkActionBar
がないのですが、素朴に自分で作ればいいやと思っていました。
<style name="Theme.AppCompat.Light.DarkActionBar.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
しかし、これでは私のツールバーはまだ
Light
のテーマのままです。暗い (ベース) テーマと明るいテーマを混ぜるさまざまな組み合わせを何時間も試しましたが、ツールバー以外のすべての背景を明るくする組み合わせは見つかりませんでした。
を取得する方法はありますか?
AppCompat.Light.DarkActionBar
をインポートして
android.support.v7.widget.Toolbar
's?
どのように解決するには?
のツールバーのスタイルを設定する推奨される方法は、以下のとおりです。
Light.DarkActionBar
クローンの場合
Theme.AppCompat.Light.DarkActionbar
を親/アプリのテーマとして使用し、以下の属性をスタイルに追加してデフォルトの ActionBar を非表示にします。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
次に、以下をToolbarとして使用します。
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>
さらに変更する場合は
ThemeOverlay.AppCompat.Dark.ActionBar
と
ThemeOverlay.AppCompat.Light
の中のものを置き換えて
AppBarLayout->android:theme
と
Toolbar->app:popupTheme
. また、これはあなたの
?attr/colorPrimary
を拾うので、背景色が異なる場合があることに注意してください。
この良い例は、現在のプロジェクト・テンプレートにある
Empty Activity
の Android Studio (1.4+) のものです。
関連
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] ツールバーに戻る矢印を表示する
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] DialogFragmentを正しく終了させるには?
-
[解決済み] アンドロイドでシェイクを検出するには?
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない