我正在尝试创建一个显示AlertDialog的分隔类。 问题是如果我创建一个扩展Activity的类并在活动中创建一个Dialog,我得到的是黑色背景而不是透明的背景。我用过:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
在我的Manifest中,标题和背景被删除但是我没有得到与创建Dialog时相同的外观。这是我的代码:
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 AlertDialog
Theme.Dialog或Theme.Traslucent.NoTitleBar
正如你所看到的,你得到的外表是不一样的。
答案 0 :(得分:0)
要将活动显示为Dialog,请使用android:theme =“@ android:style / Theme.Dilalog”而不是Theme.Translucent.NoTitleBar。