web-dev-qa-db-ja.com

AppCompatでマテリアルベースのダイアログテーマを使用する

ダイアログテーマを使用してスタイル設定するために使用したマニフェストにアクティビティがあります。 AppCompatライブラリでこれを置き換える方法が見つかりません。

  <activity
            Android:name=".LoginActivity"
            Android:theme="@Android:styles/Theme.Holo.Dialog" 
            Android:configChanges="orientation|screenSize|keyboardHidden"
            Android:label="Login" >

マテリアルベースの同等物はありますか?

21

AppCompatのダイアログにはマテリアルベースのテーマはまだありません。 here を参照してください

Will appcompat automatically theme dialogs to look like the Lollipop version?

応答

Not yet, but it's on the todo list.

更新:

バージョン22.1Support LibraryAppCompatDialog を使用して、マテリアルダイアログスタイルを取得できるようになりました。

24
tyczj

Javaコード

    AlertDialog.Builder builder =
                    new AlertDialog.Builder(SecondActivity.this, R.style.AppCompatAlertDialogStyle);
            builder.setTitle("SCRUM");
            builder.setMessage("In the SCRUM methodology a sprint is the basic unit of development. Each sprint is preceded by a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made, and followed by a review or retrospective meeting where the progress is reviewed and lessons for the next sprint are identified. During each sprint, the team creates finished portions of a product.....");
            builder.setPositiveButton("OK", null);//second parameter used for onclicklistener
            builder.setNegativeButton("Cancel", null);
            builder.show();

このテーマを使用

  <style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">#FFCC00</item>
    <item name="Android:textColorPrimary">#FFFFFF</item>
    <item name="Android:background">#5fa3d0</item>
</style>

v7アラートサポートダイアログをインポート

import Android.support.v7.app.AlertDialog;

このような出力

enter image description here

58
Ranjith Kumar

最新のAppcompatライブラリを使用する

compile 'com.Android.support:appcompat-v7:23.2.1'// or any version greater than 22.1

マニフェストでは次のテーマを使用します

Android:theme="@style/Theme.AppCompat.Light.Dialog"
9
Saleem Khan

これはあなたのために働くはずです: https://github.com/afollestad/material-dialogs

カスタムスタイルを適用したDialogFragmentでダイアログを作成するために使用しました。よく働く。

0
benhylau