Java(Android):如何在没有位图的情况下缩放可绘制对象?

2024-01-08

我需要缩放按钮的背景图像,但无法将其转换为位图。这是现在的代码:

int height = 50;
int width = 80;

Button b = new Button (this);
b. setBackgroundResource(R.drawable.btn);

现在我需要根据“高度”和“宽度”缩放“R.drawable.btn”。 setBackgroundResource 不接受位图。我怎么做?

谢谢。


您可以允许布局参数来控制比例,也可以自行缩放图像。

允许布局缩放图像:

b.setBackground(getResources().getDrawable(R.drawable.btn));

手动缩放图像:

Bitmap original = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn);
Bitmap b = Bitmap.createScaledBitmap(original, width, height, false);
Drawable d = new BitmapDrawable(context.getResources(), b);
button.setBackground(d);

Warning:图像在屏幕上显示的比例可能不完全符合您的预期。这是因为取决于您的布局参数Button,Android 可能还会根据设备的硬件屏幕密度缩放图像。

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

Java(Android):如何在没有位图的情况下缩放可绘制对象? 的相关文章

随机推荐

  • HTML 表单提交按钮的字体大小无法更改

    如何增加提交按钮的字体大小 特别是在 Chrome 中 它太小并且文本看起来被压扁 工作小提琴 http jsfiddle net xhf4bLnd body input font size 30px 我知道有 webkit appeara
  • 获取 WKWebView 中静态页面的最终渲染高度

    在我的应用程序中 我使用的是WKWebView它加载带有静态内容的网页 我想知道 的高度contentSize一旦网页完全呈现在WKWebView 所以我想我可以使用webView didFinishNavigation 代表 import
  • Google Apps 脚本最大执行时间问题

    我是编码新手 最近我创建了一个 Google 脚本 基于其他两个脚本 它执行以下操作 按主题行搜索 Gmail 草稿 获取 Gmail 草稿并将其用作模板来创建带有唯一附件的多个草稿 创建草稿后添加确认短语 这是代码 Change thes
  • 读取 Excel 并将其显示在表格视图上。使用二维数组或列表列表填充 TableView

    我的目标是读取 Excel 我可以通过 Apache POI 读取 并在 TableView JavaFX 上显示 Excel 我能够在上显示列名称TableView 但无法在这些列中填充数据 对于我发现的许多可用资源 有一个一般示例 其中
  • 在 Python 中向 Minecraft 服务器发送登录数据包不起作用

    我有以下 Python 脚本 它的作用是尝试连接到 MineCraft 服务器 首先发送 握手 然后发送登录请求 协议规范可以在这里找到 http wiki vg 协议 http wiki vg Protocol 无论如何 python 脚
  • Python多重处理:AttributeError:'Test'对象没有属性'get_type'

    简短的简短版本 我在并行化使用实例方法的代码时遇到问题 更长的版本 此 python 代码产生错误 Error Traceback most recent call last File Users gilzellner dev git 3
  • IE8 不动态应用 css 显示

    我正在尝试开发一个在给定值上隐藏其列的表 我正在使用中讨论的解决方案另一个问题 https stackoverflow com questions 2858339 show hide html table columns using css
  • Kotlin 和 WebSockets [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在制作一个小型服务器端应用程序 它将通过 WebSockets 与浏览器通信 并正在考虑用 Kotl
  • Rails 从 6.1 升级到 7.0 后忽略默认日期格式

    我们的应用程序之前将默认日期格式定义为DD MM YYYY in config application rb像这样 Date DATE FORMATS default d m Y 这在 Rails 6 1 中按预期工作 但升级到 Rails
  • 如何给Redis设置密码?

    我正在本地计算机上使用 redis 因此我实际上不需要设置密码来使用我的 php 客户端连接到服务器 我使用 predis 作为客户端 但是 我正在将我的应用程序移动到实时服务器 因此我想设置一个密码来连接到我的 redis 服务器 我有几
  • 仅在 WooCommerce 前端显示基于作者用户角色的产品

    我有一个供应商市场 我只想显示由特定作者用户角色 供应商 创建的产品 澄清一下 我并不是想改变用户角色看到的内容 仅尝试显示供应商创建的产品 I found 隐藏产品仅显示分配给 woocommerce 中某些用户角色的产品 https s
  • Fargate 与 Lambda,何时使用哪个?

    我对整个无服务器领域还很陌生 并且正在尝试了解何时使用 Fargate 与 Lambda 我知道 Fargate 是 ECS 的无服务器子集 Lambda 也是无服务器的 但由事件驱动 但我希望能够向其他熟悉容器但不太了解 AWS 和无服务
  • GUI 应用程序的跨平台 C 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 免费 易于学习 使用 用于 GUI 应用程序的跨平台 C 库 我在寻找 Qt 吗 额外问题 我可以在 M
  • NServiceBus 警告“找不到消息类型的处理程序”

    我是 NServiceBus 的新手 正在尝试开发一个发布者和单独的订阅者 我使用的是 v3 2 0 0 到目前为止 它工作正常 发布者和订阅者都在 NServiceBus 主机中运行 我的消息全部发布正常 但订阅者间歇性地无法接收它们 发
  • 加密通过 Amazon S3 发送的大流

    我想加密流 然后使用 Amazon S3 发送它 我使用旧代码并有两个重要参数 非加密InputStream及其长度 这很重要 因为 AmazonS3Client 希望在上传流之前了解流的长度 加密流并不是一件非常困难的任务 InputSt
  • 使用闪亮时输出桑基图不正确

    当我在常规 R 会话中创建桑基图时 输出看起来不错 工具提示显示连接之间的箭头 require rCharts require rjson links lt matrix unlist rjson fromJSON file http bo
  • AVPlayer 播放、暂停和缓冲问题

    我的应用程序播放流媒体视频 但是当它缓冲时 播放器进入暂停模式 我必须手动将其再次设置为播放模式 我的 AVPlayer 类中有以下代码来处理这种情况 但它确实不行 在ViewDidLoad方法中 playerItem addObserve
  • 如何分发Eclipse中构建的java项目?

    到目前为止 我一直在使用Netbeans IDE对于 Java 应用程序 要分发 Netbeans 中制作的应用程序 我只需单击clean and build它将应用程序打包到 jar 文件中 该文件位于dist目录 现在我已经做了一个ja
  • 如何将已写入 xml 文件的 OpenCV Mat 转换回图像?

    我编写了一些代码来生成一个 xml 文件 其中包含来自 OpenCV 中的 Mat 文件的 RGB 数据 我想根据 xml 文件中的数据点在 MATLAB 中重新创建此图像 然而 我不确定 xml 文件的格式 因为当我打开它时 它看起来像这
  • Java(Android):如何在没有位图的情况下缩放可绘制对象?

    我需要缩放按钮的背景图像 但无法将其转换为位图 这是现在的代码 int height 50 int width 80 Button b new Button this b setBackgroundResource R drawable b