使用 setCompoundDrawables 进行 EditText 时计算图像大小

2023-11-23

当我添加如下图标时:

etComment = (EditText) findViewById(R.id.et_comment);
Drawable img = getResources().getDrawable( R.drawable.warning );
etComment.setCompoundDrawablesWithIntrinsicBounds( img, null, null, null );

enter image description here enter image description here

图标会调整 EditText 的大小。如何计算img大小并将其放入EditText而不调整EditText大小?

Thanks!


放克僧侣
使用 setCompounDrawables() 而不是 setCompoundDrawablesWithIntrinsicBounds() - 您必须手动设置可绘制对象的边界。

我不明白如何手动计算边界。我有 EditText 的高度和宽度:

etComment = (EditText) findViewById(R.id.et_comment);
Drawable img = getResources().getDrawable( R.drawable.warning );
int size = etComment.getHeight();
img.setBounds(0, 0, size, size);
etComment.setCompoundDrawables( img, null, null, null );

但我在不同的屏幕尺寸下有不同的结果。如何计算图标的正确大小和填充?请你帮助我好吗?


我认为你可以针对不同的屏幕使用不同尺寸的图片,并使用 getMinimumWidth 来设置 Bounds。但是我之前没有尝试过,可能它不适合 .9 补丁。

当您使用 setCompoundDrawables 时,您需要如下代码:

Drawable img;
Resources res = getResources();
img = res.getDrawable(R.drawable.btn_img);
//You need to setBounds before setCompoundDrawables , or it couldn't display
img.setBounds(0, 0, img.getMinimumWidth(), img.getMinimumHeight());
btn.setCompoundDrawables(img_off, null, null, null); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 setCompoundDrawables 进行 EditText 时计算图像大小 的相关文章

  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • Android短音的正确播放方法?

    我正在创建一个应用程序 屏幕上将有多个图像 这些图像将是按钮 点击时会播放短促的声音 我对此进行了研究 只能找到我当前用来播放声音的方法 这似乎根本没有响应 我希望声音能够快速播放并且能够响应多次快速点击 我不确定这在 Android 中是
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • Android 深度链接至 Instagram 应用

    Instagram 已经发布了 iOS 深层链接的 url 方案 但尚未为 Android 创建文档 有没有办法深入链接到 Android 上的 Instagram 应用程序 以转到 Instagram 应用程序中的特定位置 例如 Inst
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • Android Studio 与本地网络共享上的项目文件

    这是我的设置 Android Studio 项目文件位于 Ubuntu 14 10 盒子上的共享文件夹中 尝试在 Windows 8 机器上运行 Android Studio 1 0 2 并将 U 驱动器映射到包含项目文件的 Ubuntu
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一

随机推荐

  • 如何在 Vue 中使用 jQuery 插件

    我正在 VueJS 中构建一个 Web 应用程序 但遇到了问题 我想使用 jQuery 扩展 具体来说是cropit 但我不知道如何以正确的方式实例化 要求 导入它而不会出现错误 我正在为我的应用程序使用官方 CLI 工具和 webpack
  • 在“更新”操作中使用聚合管道更新数组的元素

    Scenario 对于下面的文档 我想更新status某具体的message in the messages array id ObjectId 6079bab4f297df39a44609cb title Test messages of
  • 使用 NX Monorepo 从另一个库导入构建库

    情况如下 我正在使用 Nrwl NX Monorepo 我有 2 个库 lib a and lib b 两者都是通过 NX 创建的可发布库 现在我创建一个MyClass ts in lib a 自然地在路径下workspace tsconf
  • MySQLdb 对于大型结果集非常慢

    我在 phpMyAdmin 和 MySQLdb python 中执行了以下查询 SELECT SELECT CONCAT id name image code FROM model artist WHERE id artist id as
  • Python 是否有相当于 Perl 正则表达式“/x”修饰符的函数?

    Perl 使构建变得容易可读的正则表达式使用 x修饰符 此修饰符允许编写正则表达式字符串并忽略这些字符串中的所有空格 换句话说 正则表达式的逻辑部分可以用空格甚至回车符分隔 从而具有良好的可读性 在Python中 我看到这样做的唯一方法是构
  • Python:json规范化“字符串索引必须是整数”错误

    我在以下代码中收到类型错误 TypeError 字符串索引必须是整数 import pandas as pd import json from pandas io json import json normalize full json d
  • JDBC 参数 verifyServerCertificate=false 无需 clientkeystore 和 truststore 即可连接

    我正在尝试使用以下设置创建到 MYSQL 服务器的 ssl 连接 我注意到 当我在 jdbc url 中指定 verifyServerCertificate false 时 Java 似乎忽略了我通过 System setProperty
  • Android:菜单项的自定义视图

    我希望能够为MenuItem 我想在操作栏中的购物车菜单项上显示一个指示器 显示当前购物车中有多少商品 我可以做到这一点的唯一方法是通过添加自定义视图而不是利用 MenuItem 生命周期等 使用自定义视图MenuItem call set
  • 是否可以将 setup.exe 和 setup.msi 图标更改为不同的图标?

    VS 2008 SP1 我为我们的客户创建了一个设置项目 setup exe 和 setup msi 的图标是标准图标 我们的客户不想要这些图标 他们想要有看起来像他们的标志的图标 是否可以将 exe 和 msi 图标更改为不同的图标 您可
  • 如何在 Visual Studio 中使用 .NET 5(隔离进程)调试 Azure Functions?

    我最近从 NET Core 3 1 迁移到 NET 5 0 使用隔离 进程外运行时 对于 C 中的 Azure Function 项目 一切都按预期进行 但是 每当我调试时 我的断点都不会命中 为什么我以前可以 但现在无法调试 Azure
  • AngularJS ng-view 不工作

    所以我遵循了这个指南 http viralpatel net blogs angularjs routing and views tutorial with example 但是当我试图改变观点时什么也没有发生 有人知道我做错了什么吗 这是
  • Laravel 分组集合返回对象而不是数组

    我有以下查询 outings Outing all gt groupBy function item return Carbon parse item start gt format m d Y return response gt jso
  • std::thread 导致 DLLMain 死锁

    所以 这就是我要说的 std 很复杂 在VS2013中这个简单的程序会导致死锁 include
  • 更改 Flexdashboard 中各个文本部分的字体大小

    我正在使用 flexdashboard 创建报告 并且我只想更改页面一部分的字体大小 我觉得我可以通过添加 CSS 类来做到这一点 但我找不到如何在 R markdown 代码中指定类名 有任何想法吗 您可以将 CSS 直接添加到 Rmar
  • hash_map是STL的一部分吗?

    简单的问题 hash map 是 STL 的一部分吗 The STL has hash map 但是 C 标准库does not Due to 一个常见的误解 您可能会将 C 标准库视为 STL 或者将 C 标准库的工具链实现的部分视为 S
  • Win 7 DllImport C# 奇怪的错误,对内存位置的访问无效?

    我正在使用 DllImport 从 C 应用程序访问 C dll 中的某些函数 该代码在我的开发笔记本电脑 Windows 7 64 位 上运行良好 dll 本身是 32 位 因此我以 32 位运行托管 dll 的进程 并且运行良好 但是
  • 将 QSlider 移动到鼠标点击位置

    我有一个 QSlider 当用户按下鼠标左键时 我想将其移动到鼠标光标的位置 我一直在四处寻找 但找不到任何最近可以解决我的问题的东西 这是我的滑块 我希望能够单击使滑块跳转到鼠标单击的位置 我可以拖动滑块 但我希望能够单击 我测试了单击
  • 日语 ASCII 代码

    在哪里可以获得与日语汉字 平假名和片假名字符对应的 ASCII 代码列表 我正在做一个java函数和Javascript来确定它是否是日语字符 它的ASCII码范围是多少 ASCII代表美国信息交换标准代码 仅包含 128 个字符 并非所有
  • 在 Eclipse 中重命名访问器/修改器方法?

    当他们获取 设置的变量被重构 gt 重命名 Eclipse 3 4 时 有什么方法可以自动重命名访问器 修改器 1 当您对变量选择 重构 gt 重命名 时 Eclipse 会提示您在 内联 框中输入新名称 在它的正下方 有一条帮助消息 旁边
  • 使用 setCompoundDrawables 进行 EditText 时计算图像大小

    当我添加如下图标时 etComment EditText findViewById R id et comment Drawable img getResources getDrawable R drawable warning etCom