在安卓系统中,当我将背景图像设置为一个按钮时,当它被点击时,我看不到任何效果.

我需要在按钮上设置一些效果,这样用户就可以识别按钮被点击了.

点击按钮时,按钮应暗几秒钟.怎么做?

推荐答案

这可以通过创建一个包含按钮状态列表的可绘制xml文件来实现.例如,如果使用以下代码创建一个名为"button.xml"的新xml文件:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/YOURIMAGE" />
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient" />
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient" />
    <item android:drawable="@drawable/YOURIMAGE" />
</selector>

要使背景图像在印刷时保持较暗的外观,请创建第二个xml文件,并将其称为渐变.包含以下代码的xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap android:src="@drawable/YOURIMAGE"/>
    </item>
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <gradient android:angle="90" android:startColor="#880f0f10" android:centerColor="#880d0d0f" android:endColor="#885d5d5e"/>
        </shape>
    </item>
</layer-list>

在按钮的XML中,将背景设置为按钮XML,例如

android:background="@drawable/button"

希望这有帮助!

编辑:更改上述代码,在按钮中显示图像(YOURIMAGE),而不是块 colored颜色 .

Android相关问答推荐

Kotlin中的类型参数不在其范围内

垂直居中图标

Kotlin多平台向导,不兼容版本(ANP 8.2.0)ANP 8.1.2

Android添加设置图标齿轮到应用程序信息

Android Bundle getSerializable(String?):'可序列化?&# 39、被抛弃了在Java中被弃用

AdMob:MobileAds. initialize()—java. lang. xml对于某些设备不能强制转换为java. lang. String""

如何将子零部件的大小调整为可以调整大小的父组件大小?

房间DB:UPSERT返回什么?

理解修饰符<;方法>;与修饰符<;方法>;:效果和行为解释(Android开发者Jetpack Compose)

无法在Android Gradle中同步Chaquopy版本

StateFlow集合AsState没有更新他的值Jetpack Compose导航

在Jetpack Compose中,如何判断屏幕是否已重新组合?

从惰性列中删除项目时Jetpack Compose崩溃

找不到com.android.tools.build:gradle:8.0

使用 settings.gradle 文件将 Firebase 依赖项添加到 Android 项目

Android:使用依赖项 ViewModelProviderFactory 初始化 ViewModel 的正确方法

以下代码如何在 Android 上运行

视觉转换后获取文本

如何在 Jetpack Compose 中添加多个标签

Android Jetpack Compose - 每次文本字段值更改时,可组合函数都会重新组合