对话框大小与背景图像不匹配

2024-01-22

我正在使用 Android SDK 制作游戏。一路上,我需要像任何其他游戏一样显示弹出窗口/对话框,用户可以升级或其他什么。我遇到的问题是对话框的大小。我正在使用RelativeLayout,并使用“wrap_content”将背景设置为图像。

问题是对话框采用内部视图的大小(或 Android 设置的默认对话框最小大小,以较大者为准)而不是背景图像。如果我使用 fill_parent 那么它会拉伸它。我花了几个小时旋转我的时间,但我似乎找不到一种有效的方法来使窗口的大小与背景图像的大小相匹配

有什么建议么?这是一个非常常见的用例,一定有办法! 谢谢

这是一些布局内容

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/popup"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <ImageButton
        android:id="@+id/ibCloseDialog"
        android:background="@null"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/close" />

 <Button
        android:id="@+id/b1"
        android:background="@drawable/blue_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/b2"
        android:text="b1" />
    <Button
        android:id="@+id/b2"
        android:background="@drawable/blue_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="b2" />
    <Button
        android:id="@+id/b3"
        android:background="@drawable/blue_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/b2"
        android:text="b2" />
</RelativeLayout>

我曾经遇到过全屏显示对话框的问题。我使用自定义样式来删除对话框的默认样式(大小/边距/填充)。因此,也许您可​​以使用它来包装您的内容,同时忽略默认值。所以请尝试以下操作:

1) 在 styles.xml 中添加自定义对话框主题:

<style name="YourDialogTheme" parent="android:Theme.Dialog">

    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>

    <item name="android:windowBackground">@null</item>
    <item name="android:windowNoTitle">false</item>

</style>

我认为高度、宽度和背景是这里的重要方面。也许你必须玩弄价值观。

2) 使用以下代码片段创建对话框:

Dialog dialog = new Dialog(context, R.style.YourDialogTheme)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对话框大小与背景图像不匹配 的相关文章

随机推荐

  • HornetQ 核心 API 和 JMS

    我有几个关于 HornetQ 的问题 HornetQ 核心 API 和 JMS API 之间有什么区别 使用其中之一有什么优点或缺点吗 如果我使用核心 API 然后我决定这样做 这是真的吗 更改我的消息传递总线 比如说 ActiveMQ 然
  • 使用字典中的键反转多个值

    我对 Python 和整体编程还很陌生 所以请耐心等待 我有一本字典 Male Female Eunuch 作为值和这些作为键的不同名称 Persons Hodor Male Tyrion Male Theon Male Arya Fema
  • 更改实时 MySQL 数据库上的字符集

    我目前在 MySQL 5 1 x 数据库中有一堆使用 latin1 字符集的表 问题是 我们最近有一群用户尝试使用 UTF 8 编码输入文本 这似乎破坏了一切 盲目更新表的字符集是否安全 对于这种情况 有哪些最佳实践 除了显然备份所有内容之
  • 使用 local.xml 从顶部菜单中删除链接

    有谁知道如何使用 local xml 从顶部菜单中删除链接 默认的 checkout xml 中有
  • 为什么Rails Active Record迁移在mysql的varchar列上生成COLLATE utf8_bin

    我在 Rails 版本 3 0 10 上运行 jruby 我发现活动记录迁移以某种方式在所有 varchar 列上生成 COLLATE utf8 bin 当我表演创建表用户时 CREATE TABLE users id int 11 not
  • ElasticSearch 聚合:每个聚合排除一个过滤器

    我想过滤掉字段 A 等于 a 的文档 并且我想同时对字段 A 进行分面 当然不包括之前的过滤器 我知道您可以将过滤器放在查询 外部 以便在不应用该过滤器的情况下获取方面 例如 弹性搜索 query match all filter term
  • Android如何从Geocoder返回的地址获取街道名称

    我在用着Geocoder以相反的方式从给定的纬度和经度获取地址 你知道如何从Address 只有街道名称 Geocoder geocoder new Geocoder AutoFinderMapActivity this try List
  • SwiftUI 更新导航栏标题颜色

    如何在 SwiftUI 中更改导航栏标题颜色 NavigationView List ForEach 0 lt 15 item in HStack Text Apple font headline fontWeight medium col
  • PHP 对象属性的动态名称

    而不是使用 object gt my property 我想做这样的事情 object gt my variable 像这样使用大括号 object gt my variable
  • 从 CLI 同时执行多个 php 脚本

    我有 55 个 php 文件 我想从命令行同时运行它们 现在 我使用以下代码在多个 CLI 窗口中运行它们 php Script1 php 我希望能够调用一个 php 文件来同时执行所有 55 个 php 文件 我一直在阅读有关如何使命令行
  • 如何计算谷歌电子表格中逗号分隔数字的数量?

    我有一个有值的单元格 1 2 3 4 我需要一个在另一个单元格中返回 4 的公式 但是这个 Google 电子表格看起来非常复杂 我还需要修剪 因为数字之间可能有空格 一种选择是使用以下公式 COUNT SPLIT A1 这是一个例子
  • 为什么在测试 PSCustomObject 的属性时操作数的顺序很重要

    两种情况我都尝试过 psCustomObject x eq null and null eq psCustomObject x在 if 语句中 只有后者通过了 if 为什么会这样 这似乎不合逻辑 我的具体用例是一个包含多个环境配置的 jso
  • 这个哈夫曼表是如何创建的?

    我有一张表显示事件发生的概率 我对第 1 部分很满意 但第 2 部分我不太喜欢 我正在努力弄清楚如何 二进制数是在第 2 部分中导出的 我知道 0 被分配给最大的概率 我们从那里开始工作 但是我们如何计算出下一组二进制数是什么 数字周围的圆
  • 无法通过反应中动态 div 元素的索引号从数组中删除特定元素?

    我无法从任何动态 div 中按索引号删除数组的特定元素 const useState React function Check var Children setChildren useState function RemArr docs c
  • SQLite 的 ContentObserver?

    我一直在研究如何在 ListView 中显示数据库中的数据 同时跟踪数据库中的更改 假设我有一个聊天应用程序 它显示我所属的所有聊天室的列表视图 适配器的查询是SELECT FROM CHAT ROOM ORDER BY UPTDATE T
  • Airflow为每个DAG添加一个UI按钮

    默认情况下 每个 DAG 有一堆按钮 Trigger Dag Delete Dag等 在 UI 的主 管理 视图中 我一直在尝试添加一个像上面描述的那样的按钮 每次单击它时它都会发送一个 Http 请求 我已经成功使用这些插件 https
  • 通过值查找映射中的元素

    我正在创建一个HandleManager其目的是简单地映射Handles 这是一个typedef of long long int to strings 目的是让使用 a 的对象Handle也可以通过以下方式识别string如果它可以帮助用
  • 有没有利用 jQuery 的 JavaScript WYSIWYG?

    我看过TinyMCE http tinymce moxiecode com FCK编辑器 http www fckeditor net YUI 富文本编辑器 http developer yahoo com yui editor NicEd
  • Python底图模块无法导入

    我在 python 中导入 mpl toolkits 的底图模块时遇到麻烦 这是从模块目录运行 test py 脚本时得到的结果 usr lib python2 7 dist packages mpl toolkits basemap py
  • 对话框大小与背景图像不匹配

    我正在使用 Android SDK 制作游戏 一路上 我需要像任何其他游戏一样显示弹出窗口 对话框 用户可以升级或其他什么 我遇到的问题是对话框的大小 我正在使用RelativeLayout 并使用 wrap content 将背景设置为图