Android 怎么在点击按钮后更改背景

Android 怎么在点击按钮后更改背景,第1张

只需要给Button配置一个Selector背景选择器即可实现。

1.创建mylist_view.xml文件

首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist_view.xml,其目录结构为:res/drawable/mylist_view.xml。

2.根据具体需求编辑mylist_view.xml文件

新建mylist_view.xml文件后,在没有添加任何属性时其内部代码结构为:

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

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

</selector>

3.下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:

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

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

<!-- 默认时的背景图片-->

<item android:drawable="@drawable/pic1" />

<!-- 没有焦点时的背景图片 -->

<item android:state_window_focused="false" android:drawable="@drawable/pic1" />

<!-- 非触摸模式下获得焦点并单击时的背景图片 -->

<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic2" />

<!-- 触摸模式下单击时的背景图片-->

<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" />

<!--选中时的图片背景-->

<item android:state_selected="true" android:drawable="@drawable/pic4" />

<!--获得焦点时的图片背景-->

<item android:state_focused="true" android:drawable="@drawable/pic5" />

</selector>

4.引用mylist_view.xml文件

android:background="@drawable/mylist_view"

button.setBackgroundResource(R.drawable.beijing1)

上面是改变按钮背景的代码

可以做两组图片,分别为button1的选中和为选择状态、button2的选中和为选择状态,让后再button1和button2的点击事件中,对两个按钮的背景进行改变,就可以了

1、要更换背景的按钮,id是myself。其他按钮(以一个按钮未代表)

Button myButton = (Button)findViewById(R.id.myself)//要改变背景的按钮

Button otherButton = (Button)findViewById(R.id.xxxx)//其他按钮

2、定义Listener,如果id是myself,则改变为其他背景,否则变回来

OnClickListener cl = new OnClickListener(){ 

    @Override

    public void onClick(View v){

        if(v.getId()==R.id.myself){//如果是myself按钮,则设置一种背景

      myButton.setBackgroundResource(R.drawable.xxxx1) 

    }else{//如果不是myself按钮,则设置回来。

      myButton.setBackgroundResource(R.drawable.xxxx2) 

    } 

    }

}

3、按钮设置监听

myButton.setOnClickListener(cl)

otherButton.setOnClickListener(cl)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11886022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存