您的位置:首页 > 移动开发 > Android开发

Android 利用GridView来实现一个底部标签页的效果

2016-11-17 10:07 471 查看
底部标签页效果如下:



private View[] vs=new View[4];
private ImageView[] imgs = new ImageView[4];
private TextView[] tvs = new TextView[4];
private String[] str = {"微信","通讯录","发现","我"};
private int[] resOff={R.drawable.weixin_off,R.drawable.tongxun_off,R.drawable.faxian_off,R.drawable.wo_off};
private int[] resOn={R.drawable.weixin_on,R.drawable.tongxun_on,R.drawable.woxian_on,R.drawable.wo_on};


private void initView() {
for (int i = 0; i < vs.length; i++) {
vs[i] = getLayoutInflater().inflate(R.layout.grid_item,null);    //一般这一步是放在适配器中做的,要适应这种用法
imgs[i] = (ImageView) vs[i].findViewById(R.id.item_img);
tvs[i]=(TextView) vs[i].findViewById(R.id.item_tv);
imgs[i].setImageResource(resOff[i]);
tvs[i].setText(str[i]);
}
//下面两行设置初始默认值
imgs[0].setImageResource(resOn[0]);
tvs[0].setTextColor(Color.parseColor("#0099cc"));

下面是GridView的具体内容
grid = (GridView) findViewById(R.id.grid);
grid.setAdapter(new MyAdapter());
grid.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//碎片的切换
//下面实现点击换色
for (int i = 0; i < 5; i++) {
if(i==position){
imgs[i].setImageResource(resOn[i]);
tvs[i].setTextColor(Color.parseColor("#0099cc"));
}else{
imgs[i].setImageResource(resOff[i]);
tvs[i].setTextColor(Color.parseColor("#000000"));
}
}
}
});


下面是GridView的适配器:


class MyAdapter extends BaseAdapter{

@Override
public int getCount() {
// TODO Auto-generated method stub
return vs.length;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return vs[position];
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
return vs[position];
}

}


FR:海涛高软(QQ技术群:386476712)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐