Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ';材料';vs';材料组件&x27;_Android_Android Alertdialog_Android Theme_Android Dialog_Material Components Android - Fatal编程技术网

Android ';材料';vs';材料组件&x27;

Android ';材料';vs';材料组件&x27;,android,android-alertdialog,android-theme,android-dialog,material-components-android,Android,Android Alertdialog,Android Theme,Android Dialog,Material Components Android,Theme.Material…和Theme.MaterialComponents…之间有什么区别 我正在创建一个警报对话,创建时使用: newalertdialog.Builder(上下文,android.R.style.Theme\u Material\u Light\u Dialog\u Alert) 我在按钮上看到“colorAccent”彩色文本 但是,当我使用以下命令创建对话框时: returnnewalertdialog.Builder(context,R.style.myTheme

Theme.Material…
Theme.MaterialComponents…
之间有什么区别

我正在创建一个警报对话,创建时使用:

newalertdialog.Builder(上下文,android.R.style.Theme\u Material\u Light\u Dialog\u Alert)

我在按钮上看到“colorAccent”彩色文本

但是,当我使用以下命令创建对话框时:

returnnewalertdialog.Builder(context,R.style.myTheme)

与:

我似乎收到了紫色的文本。这两者有什么区别


最后,如果我要从
Theme.AppCompat…
(而不是
Theme.MaterialComponent…
)派生“myTheme”,我会得到白色文本。这是怎么回事?

主题材料由Android从API 21开始提供。
主题。MaterialComponents
由Material Components库提供。
他们完全不同

如果要使用材质组件库,最好的方法是使用
MaterialAlertDialogBuilder

return new MaterialAlertDialogBuilder(context, R.style.myTheme);
并从以下位置继承主题覆盖:

<style name="myTheme" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">

在这里,您可以检查应用于主题的所有选项