gpt4 book ai didi

android - SetView AlertDialogBu​​ilder 奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 03:03:42 26 4
gpt4 key购买 nike

我想更改标准 Holo.Light 对话框的背景。当我将自定义 View 设置为对话框警报时,它的高度只会增加。

这是我的普通对话代码

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mLogin);
alertDialogBuilder.setTitle("No Connection");
alertDialogBuilder.setMessage("You are not connected to a Wifi or data connection. Please connect and retry");
alertDialogBuilder.setNeutralButton(getString(R.string.miscClose), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}

});
alertDialogBuilder.show();

此代码显示此对话框

enter image description here

然后我尝试像这样添加我的 View :

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mLogin);
alertDialogBuilder.setView(View.inflate(mLogin, R.layout.test_alert, null));
alertDialogBuilder.setTitle("No Connection");
alertDialogBuilder.setMessage("You are not connected to a Wifi or data connection. Please connect and retry");

alertDialogBuilder.setNeutralButton(getString(R.string.miscClose), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialogBuilder.show();

此代码显示此对话框:

enter image description here

我不明白为什么它只是添加那个空间。我添加了一个背景颜色为蓝色的简单布局。如下图所示:

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/YakBlue">


</LinearLayout>

任何有关如何将基本警报对话框背景颜色更改为蓝色的帮助都会很棒。

P.S 我试过主题但没有成功。我的最小 apk 是 9。

谢谢

最佳答案

那是因为警报对话框的布局包含一个容器,可以将您的 View 放入其中,所以您所做的只是添加一个占用空间的空 View 。尝试将其颜色更改为红色,您会注意到它就在文本下方和按钮上方。

为了改变对话框的风格,你应该改变它的风格。 here's一个很好的库,演示了如何使用基本的全息样式来做到这一点。您也可以使用 HoloEverywhere 上显示的那个图书馆。

当然,如果你不想支持旧设备(但根据 minSdk,你支持),你可以直接更改样式并为应用程序本身设置一个主题,这将更改对话框上的样式整个应用程序。

不仅如此,您甚至不必使用 AlertDialog。您可以改为创建自己的对话框。

关于android - SetView AlertDialogBu​​ilder 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22158005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com