我正在尝试创建一个在使用主题AlertDialog
时不使用系统样式默认值的自定义。Theme.Holo.Light.Dialog
我希望它使用该主题,但我希望具有与ListActivity
使用相同主题相同的样式。不同的类对于同一个主题有不同的风格,所以看来我需要创建一个DialogFragment
. 另一个限制是我希望这个对话框是通用的。也就是说,我希望能够有条件地添加按钮、消息、标题、图标和项目。因此,似乎我不能只DialogFragment
从 xml 文件中膨胀 a以编程方式构建一个DialogFragment
而不从单个 xml 文件中膨胀它?
编辑
看起来这可能会有所帮助:以编程方式将控件添加到自定义对话框
我正在使用这个答案做一些事情:Dynamicly add table row in table and display it in dialog box in android
为什么我使用此代码时按钮不出现?
我在布局中添加的 xml 元素确实出现了。
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
return dialog;
}
@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View contentView = inflater.inflate(R.layout.post_dialog, container);
RelativeLayout layout = (RelativeLayout) contentView.findViewById(R.id.post_dialog_layout);
Button testButton = new Button(getActivity());
testButton.setText("success");
testButton.setLayoutParams(new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
layout.addView(testButton);
return contentView;
}