gpt4 book ai didi

android - 在具有效果的 Android 按钮中使用图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:55 25 4
gpt4 key购买 nike

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

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

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

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

这是我的图标图像: enter image description here

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

最佳答案

使用 ImageButtonStateList Drawable .您需要针对不同按钮状态的选择器。您可以为不同的状态分配不同的 drawable 以模仿普通按钮上的 onFocus onPressed 效果。

这是 resdrawable 文件夹中的 selector.xml:

<?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>

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

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

ImageButtonsrc 设置为您的图像,并将 background 设置为 selector.xml

这是最终结果:

Before After

这里有一个很好的教程:Android ImageButton Selector Example

关于android - 在具有效果的 Android 按钮中使用图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com