触摸“警报”对话框的按钮后,我看到了这个东西(它们之间没有空格)。
无论使用哪种主题,都会发生这种情况。代码:
builder.setTitle(R.string.sign_in_title);
builder.setCancelable(false)
.setPositiveButton(R.string.sign_in, (dialog, id) -> {
//Todo
})
.setNegativeButton(R.string.cancel, (dialog, id) -> dialog.cancel());
builder.create().show();
应用主题继承:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
我试图仅使用Alert.Dialog建立一个最小的项目设置,我看到了同样的东西。
有什么想法吗?如何解决?
编辑:我知道可以更改Alert的主题以产生不同的结果,但这也意味着我的应用程序中没有统一的按钮(即绿色填充白色文本)
答案 0 :(得分:1)
只需从支持的库中更改 AlertDialog 的导入类:
import androidx.appcompat.app.AlertDialog;
代替
import android.app.AlertDialog;
谢谢。
答案 1 :(得分:1)
对我来说很好
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="windowNoTitle">true</item>
<item name="android:windowCloseOnTouchOutside">false</item>
<item name="android:layout_margin">2dp</item>
只需调用“ DialogTheme”即可在您的对话框活动中使用
答案 2 :(得分:0)
以此替换您的样式
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="windowNoTitle">true</item>
<item name="android:windowCloseOnTouchOutside">false</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
答案 3 :(得分:0)
为您的alertDialog使用主题,
AlertDialog.Builder(context, R.style.Base_Theme_AppCompat_Light_Dialog);