Android中给Button加上selector——点击按钮后变成不一样的图片

如题,发难如下:

在drawable目录下新建一个btnselector.xml文件:

<selector xmlns:Android="http://schemas.android.com/apk/res/android">


    <!-- 定义按钮按下时的图片 -->
    <item Android:drawable="@drawable/pressednextbtn" Android:state_pressed="true"/>
    <!-- 定义按钮默认的图片 -->
    <item Android:drawable="@drawable/defaultnextbtn"/>


</selector>

切记切记:文件开头一定一定不能加下面这个语句

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

然后在布局文件的Button标签下加上如下代码:

android:focusable="true"
android:background="@drawable/btnselector"

运行程序就可以看到你想要的效果里哈~





好的,让我来给你一个Selector复杂例子,实现点击button后显示不一样的样式。 首先,我们需要定义两种不同的样式,一种是未选状态下的样式,另一种是选状态下的样式。我们可以使用XML文件来定义这两种样式。比如,我们创建一个名为`button_bg.xml`的XML文件,内容如下: ```xml <!-- 未选状态下的样式 --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bg_normal" android:state_pressed="false" /> <item android:drawable="@drawable/bg_pressed" android:state_pressed="true" /> </selector> ``` 在这个XML文件,我们使用了`selector`元素来定义两个`item`元素,分别表示未选状态下和选状态下的样式。每个`item`元素都定义了一个`android:drawable`属性,表示该状态下应该显示的样式。我们在未选状态下使用`bg_normal`来表示普通状态下的样式,在选状态下使用`bg_pressed`来表示按下状态下的样式。 接下来,我们在我们的布局文件使用这个XML文件来设置button的背景。比如: ```xml <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_bg" android:text="Click me!" /> ``` 这个button的背景就会根据它的选状态来显示不同的样式了。例如,当用户点击button时,它的背景就会变成`bg_pressed`,当用户松开button时,它的背景就会变成`bg_normal`。 最后,我们需要在代码设置button的选状态。我们可以在button的点击事件通过代码来实现。比如: ```java Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 切换button的选状态 button.setSelected(!button.isSelected()); } }); ``` 在这个代码,我们使用`setSelected()`方法来切换button的选状态。当button被选时,它的背景就会变成`bg_pressed`,反之,则为`bg_normal`。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值