163

アプリに appCompat マテリアル デザインを追加しましたが、アラート ダイアログでプライマリ、プライマリダーク、またはアクセント カラーが使用されていないようです。

これが私の基本スタイルです:

<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/apptheme_color</item>
    <item name="colorPrimaryDark">@color/apptheme_color_dark</item>
    <item name="colorAccent">@color/apptheme_color</item>
    <item name="android:textColorPrimary">@color/action_bar_gray</item>
</style>

私の理解に基づいて、ダイアログボタンのテキストもこれらの色を使用する必要があります。私の理解が間違っていますか、それとも他に何かする必要がありますか?


解決:

マークされた答えは、私を正しい軌道に乗せました。

<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/apptheme_color</item>
    <item name="colorPrimaryDark">@color/apptheme_color_dark</item>
    <item name="colorAccent">@color/apptheme_color</item>
    <item name="android:actionModeBackground">@color/apptheme_color_dark</item>
    <item name="android:textColorPrimary">@color/action_bar_gray</item>
    <item name="sdlDialogStyle">@style/DialogStyleLight</item>
    <item name="android:seekBarStyle">@style/SeekBarNavyTheme</item>
</style>

<style name="StyledDialog" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorPrimary">@color/apptheme_color</item>
    <item name="colorPrimaryDark">@color/apptheme_color_dark</item>
    <item name="colorAccent">@color/apptheme_color</item>
</style>
4

8 に答える 8

10

ダイアログ ビルダーを初期化するときに、2 番目のパラメーターをテーマとして渡します。API レベル 21 のマテリアル デザインが自動的に表示されます。

AlertDialog.Builder builder = new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_DARK);

また、

AlertDialog.Builder builder = new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
于 2015-01-28T15:36:28.843 に答える
2

あなたが使用することができます

マテリアル デザイン ライブラリ

かなりアラートなダイアログ、ボタン、およびスナックバーのようなもののために作成された マテリアル デザイン ライブラリ。現在、それは大きく開発されています。

ガイド、コード、例 - https://github.com/navasmdc/MaterialDesignLibrary

ライブラリをAndroid Studio 1.0に追加する方法をガイド-マテリアル デザイン ライブラリを Android Studio にインポートするにはどうすればよいですか?

.

ハッピーコーディング;)

于 2015-01-15T12:38:56.590 に答える
2

このプロジェクトを検討できます: https://github.com/fengdai/AlertDialogPro

ロリポップとほぼ同じ素材テーマの警告ダイアログを提供できます。Android2.1に対応。

于 2014-11-03T14:09:12.700 に答える
1

このライブラリを試してください:

https://github.com/avast/android-styled-dialogs

それは(@afollestadからのもののように)のDialogFragments代わりに基づいています。AlertDialogs主な利点: ローテーション後にダイアログが消えず、コールバックがまだ機能します。

于 2015-01-08T14:36:47.723 に答える