在带有效果的 Android 按钮中使用图像

2024-07-04

(现在我在 StackOverflow 上遇到了相关问题,但不幸的是没有一个解决方案对我有用,这就是为什么我不得不单独问这个问题)

我是 Android 新手。问题:我需要一个充当按钮的图像。现在我明白,这可以通过在标准按钮上使用图像或使用称为“ImageButton”的东西来实现(我想强烈推荐,尽管我不知道为什么)。

要求:我需要详细的指导来解决这个问题。具体来说,我认为“将图像放在标准按钮上”更容易,直到我遇到两个主要问题:我无法将图像设置在中心(感谢drawable-top,bottom,left6,right)并且一旦我更改背景颜色以匹配活动屏幕的背景颜色,按钮效果消失。简而言之,我需要一种相当简单的方法,让图像充当按钮或带有图像的按钮,该按钮具有所有三种效果:聚焦、按下和默认。我使用了 ImageButton,但后来我不知道如何制作自定义形状或 9patch 图像来给它所有想要的效果,我对 android 提供的默认按钮非常满意。我只需要像背景悬停在图像上或类似的东西来指示用户图像正在被按下并且事件已经生成!

有人可以帮我解决这个问题吗?我需要用户界面看起来不错,因此需要在我的图像/按钮上有相应的效果。提前致谢 :)

This is my icon-image: enter image description here

我希望有某种悬停效果,表明图像已像任何普通按钮一样被按下。


Use ImageButton and StateList Drawable https://developer.android.com/guide/topics/resources/drawable-resource.html#StateList. You need selector for different button's states. You can assign different drawable for different state to imitate the onFocus or onPressed effect on normal button.

This is selector.xml in drawable下的文件夹res:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" 
      android:drawable="@color/cyan"/> <!-- pressed state -->
<item android:state_focused="true" 
      android:drawable="@color/cyan"/> <!-- focused state -->
<item android:drawable="@android:color/transparent"/> <!-- default state -->

</selector>

这是color.xml in values下的文件夹res:

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <color name="cyan">#33B5E5</color>
</resources>

Set the ImageButton's src to your image and set the background to selector.xml.

这是最终结果:

这里有一个很好的教程:Android ImageButton 选择器示例 http://www.mkyong.com/android/android-imagebutton-selector-example/

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

在带有效果的 Android 按钮中使用图像 的相关文章

随机推荐

  • 通过谷歌脚本垂直对齐谷歌电子表格上的文本

    我想弄清楚如何在中间垂直对齐文本 根据文档 我发现我的以下示例应该有效 var form FormApp getActiveForm var ss SpreadsheetApp openById form getDestinationId
  • GWT 的图表和绘图 API

    我正在尝试找到一个可以在 GWT 中使用 java 而不是 javascript 使用的图表和绘图 api 我遇到的唯一问题是我发现需要互联网连接的代码将无法连接到互联网 有谁知道这样的API吗 这是我找到的 但又无法使用 https co
  • sails-mongo 适配器,标准化错误消息

    我正在使用 sails mongo 适配器尝试 sailsJs 和 mongodb 将验证添加到模型后 当验证失败时 我会收到以下响应 Users js 模型 module exports schema true attributes na
  • 鱼眼图像不失真的正确方法

    我已经完成了一些示例程序 可以消除棋盘上的镜头失真 如鱼眼图像 并且工作正常 这是屏幕截图 接下来 我想使用鱼眼棋盘图案 上右图 来消除相同的镜头畸变 但从真实图像中去除 但没有运气 曲率仍然保留在未畸变的图像上 因此我得到了这个 the
  • 纱线安装抛出错误请求失败“404未找到”

    我已经在我的笔记本电脑上反应了本机项目 当我将项目转移到我的电脑并运行yarn install时 我使用yarn安装了一些模块 一些使用npm安装了 我得到 一个意料之外的问题发生了 https registry yarnpkg com j
  • jQuery keydown 和 :not 带输入

    我正在使用一个小脚本 当按下箭头键时 该脚本会触发页面上的下一个 上一个链接 我试图防止用户在我的搜索输入表单中输入时发生这种情况 也许他们的查询拼写错误并希望使用箭头键来修复 这是我正在处理的内容 var j jQuery noConfl
  • 在 ASP.NET MVC 2.0 中编辑实体框架中的对象并将其保存到数据库中

    所以我知道 EF 实体会跟踪它们自己的更改 并在调用 savechanges 时将它们保存到数据库中 但是这种情况怎么样 我有一个旨在编辑博客文章的页面 它有两种操作方法 HttpGet public ViewResult EditBlog
  • 使用加载器 ts-node/esm.js 运行节点需要导入具有 .js 扩展名

    我正在尝试将我的 package json 设置为模块来运行节点 14 type module 如果我在打字稿文件上运行此命令 node loader ts node esm mjs experimental top level await
  • 如何通过可变参数模板表达概念?

    我想定义一个概念 只有具有特定类型值的元组才能满足 假设为了简单起见 我只想接受仅包含数字类型元素的元组 我该怎么做 e g std tuple
  • 从 android 发送数组并使用 Volley 在 PhP 服务器接收

    你好我想发送一个字符串值数组到 PhP 服务器和 PhP 解码并将它们存储在 PhP 变量中 这是我在 android studio 的代码 private void getEventDetailRespond RequestQueue r
  • 如何在 Perl 中捕获鲤鱼的输出?

    我正在编写一个 Perl 模块 并使用 carp 向调用程序抛出一个非致命警告 carp 警告工作正常 我正在检查输入参数是否满足特定条件 如果不满足条件 则使用 carp 发送警告 并且模块继续使用参数的默认值而不是调用程序的参数通过了
  • 获取此 contenteditable 元素中的当前行和行索引?

    我有一个这样的元素 span line 1 line 2 line 3 line 4 line 5 span 假设用户正在编辑 第 4 行 如何获取该 contenteditable 元素中的当前行和行索引 在插入符号位置 这是使用选择属性
  • Python 解释器优化

    假设我有一个字符串x Python 解释器是否足够聪明 能够知道 string replace x x 应转换为NOP 我怎样才能找到这个 是否有任何参考资料显示解释器能够根据句法分析动态执行哪种类型的优化 不 Python 不能对 NOP
  • 无法验证 sol-wallet-adapter 签名的消息

    Having 创建了一条签名消息 https github com project serum sol wallet adapter sign a message我不确定如何使用生成的签名来使用公钥验证消息 我的用例是 我想使用 Solan
  • Moq 中 Verabilible() 的用途是什么?

    目的是什么Verifiable 如果我验证一个Mock并忽略这一点它仍然验证SetUp Edit 我正在使用VerifyAll 这就是一切都被验证的原因 更改为后Verify 只有我的 Verifiable SetUp正在接受检查 附录 正
  • XML 模式 - 子元素依赖于可选属性的存在

    是否可以在 XSD 中定义以下场景 父元素有一个属性 是可选的 如果该属性不是 present in XML at least one child element must exists If the attribute is presen
  • scrollIntoView 滚动得太远

    我有一个页面 其中包含从数据库动态生成的带有 div 的表行的滚动条 每个表格行的作用就像一个链接 有点像您在视频播放器旁边的 YouTube 播放列表中看到的那样 当用户访问该页面时 他们所在的选项应该位于滚动 div 的顶部 此功能正在
  • 组合或扩展接口?

    我有两个接口 type Request interface Version string Method string Params interface Id interface type Responder interface NewSuc
  • 为移动设备设计网页界面

    如何使您的网站在标准浏览器和各种可用的移动设备上看起来都很好 目前 我尚未决定是尝试调整布局大小以使其适用于小型设备 还是为移动设备提供单独的 CSS 我的用例是一个国际象棋游戏 我希望整个棋盘都可用而无需向下滚动 你会推荐什么 基本上没有
  • 在带有效果的 Android 按钮中使用图像

    现在我在 StackOverflow 上遇到了相关问题 但不幸的是没有一个解决方案对我有用 这就是为什么我不得不单独问这个问题 我是 Android 新手 问题 我需要一个充当按钮的图像 现在我明白 这可以通过在标准按钮上使用图像或使用称为