我正在尝试创建一个单独的类来显示 AlertDialog。问题是,如果我创建一个扩展 Activity 的类并在 Activity 中创建一个 Dialog,我会得到黑色背景而不是透明背景。我用过:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
在我的清单中,标题和背景被删除,但我没有得到与创建对话框时相同的外观。这是我的代码:
public class ConfirmDialog extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Creo el dialogo
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(getString(R.string.AnalyzerDialogSaveTitle));
alert.setMessage(getString(R.string.AnalyzerDialogFileName));
// Creamos un EditView para que el usuario escriba
final EditText input = new EditText(this);
alert.setView(input);
alert.show();
}
}
我还尝试扩展 AlertDialog 和 Dialog 而不是 Activity,但是当我按下按钮时我无法使用 setResult() 来调用 onActivityResult(),而且我根本无法使用 startActivityForResult() 来调用它。
如何获得一个真正的 Dialog(不是主题,因为它看起来不像使用 AlertDialog 类时的样子)并使用 startActivityForResult 来调用它?
谢谢 :)
- - - 编辑 - - -
我也试过 Theme.Dialog 但它是一样的,因为我没有得到相同的外观。这就是我的意思:
Android 警报对话框
Theme.Dialog 或 Theme.Traslucent.NoTitleBar
正如你所看到的,你得到的外观是不一样的。