具有 Android 默认主题的自定义对话框的页脚

发布于 2025-01-07 12:35:56 字数 1564 浏览 2 评论 0原文

我想创建如下上下文菜单,我确信这不是传统的上下文菜单,它是一种正在定制的警报对话框。

我尝试了以下代码,但它将 ListView 的页脚末端添加到对话框/上下文菜单参考线程是 带有页脚视图的ContextMenu(为“make default”选项添加复选框)

dialog2.getListView().addFooterView(new CheckBox(this))

我已经完成了以下具有自定义上下文的教程菜单 , 是否可以 使用此代码设置页脚

http://www.tanisoft.net/search/label/教程

我想要以下功能,尤其是页脚中的复选框

在此处输入图像描述

编辑

我到达这部分现在只有两个问题

1) 对话框标题图标
2) 对话框底部蓝色(默认 Android 的颜色)

并且我不知道如何实现上述两个任务

这是我创建对话框的代码

contactDlg = new Dialog(this);
contactDlg.requestWindowFeature( Window.FEATURE_LEFT_ICON );    

contactDlg.setTitle(contactStore.getContactName());

contactDlg.setContentView(R.layout.contact_dialog);
contactDlg.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.bottom_bar);         
contactAdapter = new ContactAdapter(this,contactStore.getContactNumber());          

modeList = (ListView) contactDlg.findViewById(R.id.contactDlgList);
modeList.setBackgroundResource(android.R.color.white);
modeList.setCacheColorHint(Color.WHITE);            
modeList.setAdapter(contactAdapter); 

contactDlg.show();

在此处输入图像描述

I want to create context menu as follows , i am sure this is not traditional the context menu , its a kind of alert dialog which is being customized.

I tried following code but it adds the footer end of the ListView not to the dialog / context menu reference thread is ContextMenu with footer view (to add checkbox for 'make default' option)

dialog2.getListView().addFooterView(new CheckBox(this))

I have gone through the followig tutorial which has custom context menu , is it possible
to use this code to set a footer

http://www.tanisoft.net/search/label/Tutorial

I want following features , preciously the checkbox in the footer

enter image description here

EDIT

I reached to this part now there are only two issues

1) Dialog Title Icon
2) Dialog Bottom Blue Color ( which is a default
color of android )

and i don;t know how to achieve above two task

Here is my code to create dialog

contactDlg = new Dialog(this);
contactDlg.requestWindowFeature( Window.FEATURE_LEFT_ICON );    

contactDlg.setTitle(contactStore.getContactName());

contactDlg.setContentView(R.layout.contact_dialog);
contactDlg.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.bottom_bar);         
contactAdapter = new ContactAdapter(this,contactStore.getContactNumber());          

modeList = (ListView) contactDlg.findViewById(R.id.contactDlgList);
modeList.setBackgroundResource(android.R.color.white);
modeList.setCacheColorHint(Color.WHITE);            
modeList.setAdapter(contactAdapter); 

contactDlg.show();

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白色秋天 2025-01-14 12:35:56

不需要为此做任何特别的事情。
这可以通过创建自己的布局轻松实现,其中包含此图片中显示的列表以及对话框本身中的页脚视图以及您想要的颜色和样式。
然后只需通过
< 将名为“windowFrame”的对话框的属性设置为 null项目名称=“android:windowFrame”>@null< / item>
您还可以在“values”文件夹中创建一个单独的“theme.xml”,并在该文件中定义此属性和类似的属性。
在代码中,当您实例化对话框对象时,为其设置此主题。

这样做的基本目的是实现对您创建的对话框中显示内容和不显示内容的完全控制。

No need to do any thing special for this.
This can be achieved easily by creating your own layout containg the list shown in this pic and the footer view in the dialog itself with thye color and style you want.
Then just make the property of the dialog named "windowFrame" to be null by
< item name="android:windowFrame">@null< / item>
Also you can make a separate "theme.xml" in the "values" folder and define this and similar kinda properties in that file.
In code, when you instantiate the dialog object, set this theme to it.

The basic purpose of doing this is to achieve the total control on what to show and what not in the dialog you create.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文