您的位置:首页 > 其它

自定义控件中如何实现按钮之间的共轭?

2016-02-04 00:39 375 查看
问题:布局如图

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: