- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 AlertDialog 的自定义子类,它应该显示范围内所有可用 Wifi 网络的列表。
我通过创建该对话框的实例并调用 show() 来显示此对话框,并且我没有使用 AlertDialog.Builder (因为我希望使用我的自定义类)。
我有自己的布局来显示为内容 View ,但我想要常规的 AlertDialog 外观和感觉,以及标题标题和框架。
我的自定义布局非常简单:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
我将其添加到 onCreate() 的对话框中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.pick_wifi_network);
setContentView(R.layout.pick_wifi_dialog);
// Rest of implementation
}
但结果看起来一点也不像 AlertDialog。没有标题,ListView占据整个屏幕:
那么我做错了什么以及我应该如何做呢?
谢谢!
编辑:为什么我不使用AlertDialog.Builder:我的自定义Dialog类负责监听WifiManager的SCAN_RESULTS_AVALIABLE_ACTION,并在结果刷新时更新ListView。因此我无法使用 AlertDialog.Builder。结束编辑
最佳答案
我认为您的问题在于对话框的主题(您没有应用)。
我还没有尝试过这个,但如果我理解正确的话,它应该可以工作:
在对话框的构造函数中,调用接收主题的 super 构造函数,并传递标准对话框主题。
public CustomDialog(Context context) {
super(context, android.R.style.Theme_Dialog);
}
在 Android 中创建的对话框具有此默认主题。
Theme_Dialog 的文档指出 (v2.2):
Default theme for dialog windows and activities (on API level 10 and lower), which is used by the Dialog class. This changes the window to be floating (not fill the entire screen), and puts a frame around its contents. You can set this theme on an activity if you would like to make an activity that looks like a Dialog.
希望这有帮助!
编辑:
要解决setTitle
的问题,最简单的方法似乎是继承Dialog
而不是AlertDialog
。
同样这样做,不需要在构造函数中传递 android.R.style.Theme_Dialog
(显然子类化 AlertDialog
没有主题)。
关于java - 具有自定义内容 View 的 AlertDialog 看起来与 AlertDialog 完全不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10668269/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!