是否有可能改变选择XML按钮的左侧绘制? [英] Is it possible to change the left drawable of a Button in Selector xml?

查看:116
本文介绍了是否有可能改变选择XML按钮的左侧绘制?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

予分配有一个按钮,以及一个背景抽拉左draable。我想要提供一个选择器,以便当一个用户presses /聚焦/禁止按钮时,其外观的变化。我使用的左绘制的图像是一个红色的X。

我想这换出一个灰色的X,而按钮是pressed或禁用。使用选择这可能吗?

下面是我尝试过(这适用于边框/背景图片,而不是左侧绘制(显然)。

 < XML版本=1.0编码=UTF-8&GT?;
<选择的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
  <项目
      机器人:state_enabled =假
      机器人:可绘制=@可绘制/ GrayBorder
      机器人:drawableLeft =@可绘制/ GrayRemove/>
  <项目
      机器人:STATE_ pressed =真
      机器人:state_enabled =真
      机器人:可绘制=@可绘制/ GrayBorder
      机器人:drawableLeft =@可绘制/ GrayRemove/>
  <项目
      机器人:state_focused =真
      机器人:state_enabled =真
       机器人:可绘制=@可绘制/ GrayBorder
      机器人:drawableLeft =@可绘制/ GrayRemove/>
  <项目
      机器人:state_enabled =真
      机器人:可绘制=@可绘制/ BlackBorder
       机器人:drawableLeft =@可绘制/删除/>
< /选择器>
 

解决方案

创建一个单独的选择和尝试设置,作为 drawableLeft 按钮

I have a left draable assigned to a button as well as a background drawable. I want to supply a selector so that when a user presses/focuses/disables the button, its appearance changes. The image I am using for the left drawable is a red "x".

I would like this to swap out with a gray "X" while the button is pressed or disabled. Is this possible using a selector?

Here is what I tried (which works for the border/background image, but not for the left drawable (obviously).

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item
      android:state_enabled="false"
      android:drawable="@drawable/GrayBorder" 
      android:drawableLeft="@drawable/GrayRemove"/>
  <item
      android:state_pressed="true"
      android:state_enabled="true"
      android:drawable="@drawable/GrayBorder" 
      android:drawableLeft="@drawable/GrayRemove" />
  <item
      android:state_focused="true"
      android:state_enabled="true"
       android:drawable="@drawable/GrayBorder" 
      android:drawableLeft="@drawable/GrayRemove" />
  <item
      android:state_enabled="true"
      android:drawable="@drawable/BlackBorder"
       android:drawableLeft="@drawable/Remove"/>
</selector>

解决方案

Create a separate selector and try setting that as the drawableLeft on your Button.

这篇关于是否有可能改变选择XML按钮的左侧绘制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆