博客
关于我
【Android】Button之实现松开按钮和按下按钮背景图片或颜色不同
阅读量:371 次
发布时间:2019-03-05

本文共 1305 字,大约阅读时间需要 4 分钟。

Android 按钮状态Drawable实现指南

StateListDrawable是Android开发中非常实用的一个Drawable资源类型,它可以根据控件的不同状态(如按下、松开、选中等)展示不同的图片。通过配置StateListDrawable,我们可以轻松实现按钮在不同状态下显示不同的背景图片或颜色效果。以下将详细介绍如何实现这一功能。

一、背景图片不同

要实现按钮按下时和松开时显示不同的背景图片,我们可以按照以下步骤操作:

  • 导入图片资源

    首先,在Android项目的res目录下新建一个drawable文件夹,或者确保已经存在此文件夹。然后,按照以下步骤导入按钮按下时和松开时要使用的图片:

    • 如果使用预设图片,可以直接将图片添加到drawable文件夹中。
    • 如果需要自定义图片,可以将图片文件复制到drawable文件夹中,并确保文件名为图片的实际文件名(如btn_pressed.pngbtn_normal.png)。
  • 创建StateListDrawable资源

    接下来,创建一个新的Drawable Resource File:

    • 右键点击res文件夹,选择“New” -> “Drawable Resource File”。
    • 输入文件名,点击“OK”创建文件。
  • 配置Drawable选择器

    打开刚刚创建的Drawable Resource File,添加StateListDrawable配置:

    • state_pressed="true":表示控件处于按下状态时使用指定图片。
    • state_pressed="false":表示控件处于松开状态时使用指定图片。
  • 在按钮布局中应用选择器

    在主活动布局文件(如activity_main.xml)中,设置按钮的背景图片为上述创建的Drawable选择器:

    这样,按钮在不同状态下将显示不同的图片。

  • 二、背景颜色不同

    如果需要实现按钮按下时和松开时显示不同的背景颜色,可以按照以下步骤操作:

  • 创建颜色资源文件夹

    在res目录下创建一个color文件夹,用于存储按钮颜色相关的资源。

  • 创建StateListDrawable颜色选择器

    在color文件夹中新建一个Drawable Resource File,配置如下:

    • state_pressed="true":表示控件处于按下状态时使用指定颜色。
    • state_pressed="false":表示控件处于松开状态时使用指定颜色。
  • 在按钮布局中应用颜色选择器

    在主活动布局文件中,设置按钮的背景颜色为上述创建的颜色选择器:

    注意:backgroundTint属性用于设置按钮的背景颜色,而background属性用于设置背景图片。如果需要同时支持图片和颜色效果,可以根据需求选择合适的属性使用。

  • 总结

    通过上述步骤,我们可以轻松实现Android按钮在不同状态下显示不同的图片或颜色效果。StateListDrawable为开发者提供了灵活的配置方式,使得按钮的视觉效果更加丰富。

    转载地址:http://uuvg.baihongyu.com/

    你可能感兴趣的文章
    OK335xS UART device registe hacking
    查看>>
    ok6410内存初始化
    查看>>
    one_day_one--mkdir
    查看>>
    OpenCV 中的图像转换
    查看>>
    opencv5-图像混合
    查看>>
    opencv9-膨胀和腐蚀
    查看>>
    OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
    查看>>
    OpenCV与AI深度学习 | 使用Python和OpenCV实现火焰检测(附源码)
    查看>>
    OpenCV与AI深度学习 | 使用YOLO11实现区域内目标跟踪
    查看>>
    OpenCV与AI深度学习 | 基于PyTorch实现Faster RCNN目标检测
    查看>>
    OpenCV与AI深度学习 | 基于PyTorch语义分割实现洪水识别(数据集 + 源码)
    查看>>
    OpenCV与AI深度学习 | 基于机器视觉的磁瓦表面缺陷检测方案
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    opencv图像分割2-GMM
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>