如何在材质警报对话框中设置按钮图标大小

问题描述

我有简单的 MaterialAlertDialog 并且我想为正按钮设置图标。所以我以编程方式设置图标,因为我想要多个警报对话框的唯一图标,并为所有 dialog

使用相同的主题

这是我做的。

final MaterialAlertDialogBuilder dialogBuilder = new MaterialAlertDialogBuilder(SubListActivity.this,R.style.AlertDialogTheme);
dialogBuilder.setTitle("Delete selected files ?");

ListView modeList = new ListView(SubListActivity.this);
modeList.setPadding(50,50,50);

CustomArrayAdapter adapter = new CustomArrayAdapter(SubListActivity.this,temp);
modeList.setAdapter(adapter);
dialogBuilder.setView(modeList);

dialogBuilder.setNegativeButton(android.R.string.no,null);
dialogBuilder.setPositiveButton(R.string.delete,(dialog,which) -> {

    //Some function
                    
}).setPositiveButtonIcon(getDrawable(R.drawable.ic_item_delete)).create().show();

主题

<style name="AlertDialogTheme" parent="ThemeOverlay.MaterialComponents.Dialog.Alert">
    <item name="buttonbarNegativeButtonStyle">@style/NegativeButtonStyle</item>
    <item name="buttonbarPositiveButtonStyle">@style/PositiveButtonStyle</item>
</style>

<style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
    <item name="rippleColor">@color/primarySubText</item>
    <item name="android:textColor">@color/primarySubText</item>
</style>

<style name="PositiveButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Icon">
    <item name="rippleColor">@color/secondaryLightColor</item>
    <item name="android:textColor">@color/darkRed</item>
    <item name="iconTint">@color/darkRed</item>
    <item name="iconSize">4dp</item>
    <item name="iconPadding">4dp</item>
</style>

结果:

enter image description here

如果我在主题中设置图标大小适合按钮。但正如我之前提到的,我想为每个对话框设置唯一的图标。

那么我如何调整图标大小?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)