gpt4 book ai didi

android - 如何自定义对话框的标题部分

转载 作者:太空狗 更新时间:2023-10-29 16:37:50 26 4
gpt4 key购买 nike

我已经创建了一个自定义的对话框,并将layout xml 应用于它。但是 layout 始终应用于 dialog 的主体,而从不应用于标题部分。我所能做的就是使用 setTitle 以编程方式设置 dilaog 的标题,并使用 setFeatureDrawableResource 添加图标。请让我知道如何自定义自定义对话框的标题部分?

旁问:今天访问我的stackoverflow账号,发现有200多分被扣了?知道为什么吗?

Java_代码:

reportDialog = new Dialog(MeetingPointFix.this);
reportDialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
reportDialog.setCancelable(false);
LayoutInflater reportAlertDialogLayoutInflater = LayoutInflater.from(getApplicationContext());
View reportAlertDialogInflatedView = reportAlertDialogLayoutInflater.inflate(R.layout.meetingpointfix_report_dialog, null);
reportDialog.setContentView(reportAlertDialogInflatedView);

int [] viewsRefsIds = {R.id.reportLocNameValue, R.id.reportLocLatValue, R.id.reportLocLngValue, R.id.reportTimeValue,
R.id.reportDateValue, R.id.reportImgTitleValue, R.id.reportImgPathValue
};
reportDialog.setTitle(REPORT_ALERT_DIALOG_TITLE);
reportDialog.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.reporticon01);

TextView reportDialogMSG = (TextView) reportDialog.findViewById(R.id.reportDialogMessageValue);
Button reportOkBtn = (Button) reportDialog.findViewById(R.id.reportOkBtnID);
Button reportNavigateBtn = (Button) reportDialog.findViewById(R.id.reportNavigateBtnID);

最佳答案

是的,我同意有时默认对话框标题与您应用的主题风格不匹配。

幸运的是,android 为您提供了一种更新标题布局的方法,您只需要在创建对话框时处理这三行代码即可。

dialog.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
dialog.setContentView(R.layout.test);
dialog.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.dialog_title_test);

确保对 setContentView() 的调用发生在 requestWindowFeature() 之后和 setFetureInt() 之前

所以,假设对于一个对话框 Fragment,你可以这样做

public class DialogTest extends DialogFragment{

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
dialog.setContentView(R.layout.test);
dialog.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.dialog_title_test);
return dialog;
}


}

快乐编码! :)

关于android - 如何自定义对话框的标题部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24178548/

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