Android Drawable:在 XML 文件中以百分比形式指定形状宽度?

2023-12-26

我正在尝试创建一个简单的 Drawable,我想将其设置为视图的背景(使用设置背景Drawable)。我只是想将可绘制的背景分成两个相等的矩形(50% - 50%),第一个要填充黑色,第二个要填充白色:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/back_color_1">
        <shape android:shape="rectangle">
          <solid android:color="#000000" />
        </shape>
    </item>
    <item android:id="@+id/back_color_2">
        <shape android:shape="rectangle">
          <solid android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>

如何在可绘制 XML 定义文件中指定每个形状的宽度应为 50%?就像是安卓:宽度=“50%”.

(我正在研究 Android 3.0,但我认为这是一个普遍的 Android 问题。)

P.S:您可以在 CSS 或 XAML 中执行此操作。


您无法指定百分比。您需要为其指定一个维度值。

android:width在这里定义:http://developer.android.com/reference/android/R.attr.html#width http://developer.android.com/reference/android/R.attr.html#width :

(强调我的)

必须是尺寸值,它是一个浮点数,附加一个单位,例如“14.5sp”。可用单位有:px(像素)、dp(与密度无关的像素)、sp(基于首选字体大小的缩放像素)、in(英寸)、mm(毫米)。

有关每种尺寸类型的定义,请参阅:http://developer.android.com/guide/topics/resources/more-resources.html#Dimension http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

您将需要创建自己的属性(请参阅风格化的 http://developer.android.com/reference/android/R.styleable.html)并自己执行计算onDraw(...).

请参阅这两个问题及其中的链接以获取示例:

  • 定义自定义属性 https://stackoverflow.com/questions/3441396/android-defining-custom-attrs

  • 在 Android 中声明可样式属性 https://stackoverflow.com/questions/6020379/declaring-styleable-attributes-in-android/6021078#6021078

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

Android Drawable:在 XML 文件中以百分比形式指定形状宽度? 的相关文章

随机推荐

  • 为什么 C# 中某些迭代器比其他迭代器更快?

    有些迭代器速度更快 我发现这一点是因为我收到鲍勃 塔博尔 Bob Tabor 的来信9频道 http channel9 msdn com 永远不要复制和粘贴 我习惯于这样做来设置数组值 testArray 0 0 testArray 1 1
  • 如何在行为测试.feature 文件的示例表中使用管道字符?

    我有一个行为场景大纲 我需要使用管道字符 作为示例表中的单元格值 但我不知道如何转义这个字符 以免被视为列分隔符 我越来越Malformed table当我尝试使用时出错 顺序 据我所知 从 1 2 5 版本 发布时的当前版本 开始 不可能
  • 如何在函数中编写函数(list_map)

    你好 我最近问了一些关于C中链表的问题 链接是在这里找到的 https stackoverflow com questions 2106691 c issue cant figure how to assign pointer to beg
  • 何时以及为何使用一组 Executor

    我一直在阅读 Android 文档中有关 Executor 的内容 如果我理解正确的话 它用于多线程管理 并且它会为您完成一些工作 例如在需要时生成新线程 或者您可以选择自己管理事情 在下面的示例中 使用一组执行器而不是一个执行器 所以它就
  • 如何在Python中更新字典中键的值?

    我有一本代表书店的字典 键代表书名 值代表当前书籍的份数 当书籍从商店出售时 书籍的册数必须减少 我编写了一个代码来减少已售书籍的副本数量 但是在更新后打印词典时 我得到的是初始词典 而不是更新后的词典 n input Enter numb
  • 使用端口 Ping ip,不返回任何内容,PHP/APACHE

    我正在使用以下命令来获取 IP 或域的状态 我如何 ping 端口 80 提供端口后 根本不返回任何内容 尝试通过 80 和 80 将其添加到末尾 任何想法表示赞赏 如果您想要了解给定主机是否接受端口 80 上的 TCP 连接 您可以这样做
  • Android Studio 找不到 AndroidManifest.xml

    我正在使用 Android Studio v0 2 x 我刚刚创建了一个具有默认设置的新应用程序 File gt 新项目 gt 然后一步步进行 当我构建它时 它失败了 日志是 Android 源生成器 MyApplication Andro
  • Maven 版本控制和发布 GIT 存储库

    我在一个 GIT 存储库中有多个 Maven 项目 我想对 Maven 项目执行单独的发布 将发布版本推送到 Nexus 跳过标记并增加快照和提交 使用的 Maven 发布目标 release clean release prepare r
  • Android - 无法打开 zip 存档

    我正在从网络下载 apk 文件并将其存储到 Context getCacheDir 中 我正在通过 HttpURLConnection 下载文件 我实际上并没有询问代码 它完全正常工作 所以我不会将其发布在这里 我成功启动下载 文件被下载到
  • 将频率表合并到单个数据框中

    我有一个列表 其中每个列表项都是一个词频表 该表是通过在不同的示例文本上使用 table 而派生的 因此 每个表的长度不同 我现在想将列表转换为单个数据框 其中每列都是一个单词 每行都是示例文本 这是我的数据的虚拟示例 t1 lt tabl
  • RSpec 错误“未初始化常量 FactoryGirl(名称错误)”

    我尝试运行 RSpec 测试 rspec comments rb 但不断收到相同的错误 见标题 在有人问之前我已经添加了require factory girl到spec helper rb 的内容spec factories commen
  • 为什么我无法在 Raspberry Pi 上安装任何带有 GHC 7.8.4 的软件包?

    根据这个帖子 http www reddit com r haskell comments 35bw0b at last debian unstable has working arm ghci and 终于有一个支持模板 haskell
  • ASP.Net MVC 3.0 Ajax.ActionLink Onbegin 函数 true 执行操作?

    我有一个 Ajax Action 链接 它将调用一个 action 方法 在我的 Ajax 选项中 我调用了一个验证函数 如果这个函数返回 true 那么只有我想要执行此操作 不知道如何完成此操作 我的 Ajax ActionLink Aj
  • android 未加载广告时使用空间

    我正在尝试在我的应用程序中添加 admob 广告 但是当我没有连接到互联网时 那里的空间太空了 我希望添加在加载后出现 直到广告空间应由其余元素利用 该怎么办 我的活动文件如下 MainActivity java package com t
  • LL(1) 不能有歧义

    如何证明 LL 1 文法不能是二义性的 我知道什么是二义性语法 但无法证明上述定理 引理 这是我的校样初稿 它可能需要一些微调 但我认为它涵盖了所有情况 我认为许多解决方案都是可能的 这是一个直接的证明 旁注 遗憾的是 SO 不支持数学 例
  • 在字符串中使用希伯来字符

    我想在 R 的字符串中使用希伯来字符 我使用了以下内容 gt a lt c gt a 1 gt class a 1 character 可以看出 当我输出字符串内容或使用任何函数时 我会得到 Jibbrish 如何使用希伯来语字符 感谢所有
  • 高效适配器有java.lang.ClassCastException吗?

    看完后here http www google com events io 2009 sessions TurboChargeUiAndroidFast html我尝试实现自己的高效适配器 我的 ViewHolder 类几乎相同 stati
  • System.Collections.Generic.KeyNotFoundException:字典中不存在给定的键

    对方法执行单元测试时 我收到上述错误消息 我知道问题出在哪里 只是不知道为什么字典中没有它 这是字典 var nmDict xelem Descendants plantNS Month ToDictionary k gt new Tupl
  • 有人可以向我解释一下匿名方法吗?

    Delphi 2009 中还有一些很酷的东西 其中之一就是新增了匿名方法 我已经看过有关匿名方法的示例和博客文章 但我还没有明白 有人能解释一下为什么我应该感到兴奋吗 请看一下closures http en wikipedia org w
  • Android Drawable:在 XML 文件中以百分比形式指定形状宽度?

    我正在尝试创建一个简单的 Drawable 我想将其设置为视图的背景 使用设置背景Drawable 我只是想将可绘制的背景分成两个相等的矩形 50 50 第一个要填充黑色 第二个要填充白色