【android】关于点击button1后改变颜色且保持,再点击别的button后颜色改变,button1变回原色
来源:互联网 发布:安卓软件,电视直播 编辑:程序博客网 时间:2024/04/24 13:07
一、这是什么鬼?
这个demo实现了:点击button1后改变颜色且保持,再点击别的button后颜色改变,button1变回原色。
二、这有什么用?
自己开发中遇到过的一个问题,当时上网看了之后貌似没有适合的解决方案,于是自己尝试弄了一个。废话不多说了,先上效果图:
三、这该怎么写?
1)首先在drawable文件中新建一下xml文件,代码如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true" android:drawable="@drawable/color1"></item> <!-- 未点击时的颜色 --> <item android:state_enabled="false" android:drawable="@drawable/color2"></item> <!-- 点击后的颜色 --> </selector>
2)在string中,添加如下代码:
<!-- 点击变换颜色 --> <drawable name="color1">#339966</drawable> <drawable name="color2">#47C283</drawable>
3)到activity_main.xml中,简单写一下布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/b1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/selector_button" android:layout_margin="10dp" /> <Button android:id="@+id/b2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/selector_button" android:layout_margin="10dp" /> <Button android:id="@+id/b3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/selector_button" android:layout_margin="10dp" /></LinearLayout>
4)到MainActivity里完成设置。
public class MainActivity extends Activity implements OnClickListener{ private Button button1; private Button button2; private Button button3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1 = (Button) findViewById(R.id.b1); button2 = (Button) findViewById(R.id.b2); button3 = (Button) findViewById(R.id.b3); button1.setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); } @SuppressLint("ResourceAsColor") @Override public void onClick(View v) { switch (v.getId()) { case R.id.b1: button1.setEnabled(false); button2.setEnabled(true); button3.setEnabled(true); break; case R.id.b2: button2.setEnabled(false); button1.setEnabled(true); button3.setEnabled(true); break; case R.id.b3: button3.setEnabled(false); button2.setEnabled(true); button1.setEnabled(true); break; default: break; } }}
四、有问题怎么办?
因本人水平有限(我也是一个小菜鸟~),若写的不对的地方,还请大家多多指正,在此谢谢大家了。
1 0
- 【android】关于点击button1后改变颜色且保持,再点击别的button后颜色改变,button1变回原色
- android点击Button后,buttton的背景和颜色改变
- Button 点击后改变颜色 (不是点击后改变颜色又恢复)
- android button点击背景改变颜色
- TextView点击后背景颜色、文字颜色改变
- (转)TextView点击后背景颜色、文字颜色改变
- ListView中的Button点击后相应的Item改变背景颜色
- Button和RelativeLayout点击时会改变颜色
- 关于android自定义字体颜色和点击改变字体颜色
- Android开发————Button点击改变颜色
- Android开发技巧:点击Button改变其背景颜色
- DataGrid中鼠标点击、移动后行颜色改变效果
- ListView点击后改变item颜色的Demo
- TextView后加字体并改变颜色点击跳转
- Android 如何给Button上面的文字设置点击后变颜色
- 表格点击改变颜色
- 点击改变背景颜色
- Android 关于点击后颜色不一样 再点击颜色还原的问题
- pdf转换jpg转换器软件
- 4.2 模型变换和视图变换
- phalcon volt 自定义过滤器 volt里格式化timestamp
- 404问题排查
- JDBC 帮助类
- 【android】关于点击button1后改变颜色且保持,再点击别的button后颜色改变,button1变回原色
- 浅叙Ubuntu.Components 1.2中的ListItem控件
- Android常用代码之APK root权限静默安装
- 黑马程序员 java基本数据类型
- Android如何运行真机在eclipse上调试应用?
- python多线程有几种实现方法
- js 与或运算符 || && 妙用
- OpenGrok
- 安卓开发中Theme.AppCompat.Light的解决方法