自定义控件中如何实现按钮之间的共轭?
2016-02-04 00:39
375 查看
问题:布局如图
Wrong Code
package com.example.weibo; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.LinearLayout; public class BottomLayout extends LinearLayout implements OnClickListener { // private ImageButton main; // private ImageButton add; // private ImageButton account; private ImageButton ib[]=new ImageButton[3]; int flag = 0; final int home_b = R.drawable.ic_home_black_48dp; final int home_g = R.drawable.ic_home_grey600_48dp; final int add_b = R.drawable.ic_add_circle_black_48dp; final int add_g = R.drawable.ic_add_circle_grey600_48dp; final int account_b = R.drawable.ic_account_box_black_48dp; final int account_g = R.drawable.ic_account_box_grey600_48dp; public BottomLayout(Context context,AttributeSet attrs){ super(context,attrs); LayoutInflater.from(context).inflate(R.layout.bottom,this); /* main = (ImageButton)findViewById(R.id.bottom_main); add = (ImageButton)findViewById(R.id.bottom_add); account = (ImageButton)findViewById(R.id.bottom_account); main.setTag("g"); add.setTag("g"); account.setTag("g"); main.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ if (v.getTag()=="g") { ((ImageButton)v).setImageResource(home_b); v.setTag("b"); add.setImageResource(add_g); add.setTag("g"); account.setImageResource(account_g); account.setTag("g"); } } }); add.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ if (v.getTag()=="g") { ((ImageButton)v).setImageResource(add_b); v.setTag("b"); main.setImageResource(home_g); main.setTag("g"); account.setImageResource(account_g); account.setTag("g"); } } }); account.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ if (v.getTag()=="g") { ((ImageButton)v).setImageResource(account_b); v.setTag("b"); add.setImageResource(add_g); add.setTag("g"); main.setImageResource(home_g); main.setTag("g"); } } }); */ ib[0] = (ImageButton)findViewById(R.id.bottom_main); ib[1] = (ImageButton)findViewById(R.id.bottom_add); ib[2] = (ImageButton)findViewById(R.id.bottom_account); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.bottom_main: ((ImageButton)v).setImageResource(home_b); if (flag == 2) ib[1].setImageResource(add_g); else if (flag == 4) ib[2].setImageResource(account_g); else ; flag = 1; break; case R.id.bottom_add: ((ImageButton)v).setImageResource(add_b); if (flag == 1) ib[0].setImageResource(home_g); else if (flag == 4) ib[2].setImageResource(account_g); else ; flag = 2; break; case R.id.bottom_account: ((ImageButton)v).setImageResource(account_b); if (flag == 1) ib[0].setImageResource(home_g); else if (flag == 4) ib[2].setImageResource(account_g); else ; flag = 4; break; default: ; } } }
Wrong Code
相关文章推荐
- 51Nod 1046 A^B Mod C(快速幂)
- 【Linux】SVN的安装和配置
- sqlserver重置标识
- category和extension
- strace命令入门
- java深入理解反射机制
- 【jQuery基础学习】09 jQuery与前端(这章很水)
- 《Netty in Action V5》-- 第1章 Netty与Java NIO APIS
- ubuntu下 zookeeper的安装、启动、停止
- 51nod1006最长公共子序列Lcs问题
- 设计模式之观察者模式
- 把项目从本地上传到git远程库
- 如何配置libjpeg
- 【Android】软引用(SoftReference)与LruCache
- 13 File类
- Java调用net的webservice故障排除
- 【HDOJ】3948 The Number of Palindromes
- backgroud thread
- dns 报文格式
- 最简单易懂的hash表实现代码