Android UI开发详解之模板控件的复用(二)

2014-11-24 08:05:36 · 作者: · 浏览: 8
utParams.setMargins(0, 0, 12, 0);//左上右下
rightButtonLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);

tvTitleLayoutParams.setMargins(12, 0, 12, 0);//左上右下
tvTitleLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);
tvTitleLayoutParams.addRule(RelativeLayout.LEFT_OF, rightBtnId);
tvTitleLayoutParams.addRule(RelativeLayout.RIGHT_OF, leftBtnId);
//tvTitleLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
tv_title.setGravity(Gravity.CENTER);
tv_title.setBackgroundColor(leftBtnColor);

addView(btn_left, leftButtonLayoutParams);
addView(btn_right,rightButtonLayoutParams);
addView(tv_title,tvTitleLayoutParams);

//btn_left.setBackgroundDrawable(leftBtnBackground);
btn_left.setText(str_LeftBtn);
btn_left.setTextColor(leftBtnColor);
//btn_right.setBackgroundDrawable(rightBtnBackground);
btn_right.setText(str_RightBtn);
btn_right.setTextColor(rightBtnColor);

tv_title.setTextSize(22.0f);
tv_title.setTextColor(Color.BLUE);
tv_title.setEllipsize(TruncateAt.MIDDLE);
tv_title.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
tv_title.setSingleLine(true);
tv_title.setText(str_title);
tv_title.setTextSize(titleTextSize);
tv_title.setTextColor(titleTvColor);

btn_left.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(topBarClickListener!=null){
topBarClickListener.leftBtnClick();
}
}
});

btn_right.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(topBarClickListener!=null){
topBarClickListener.rightBtnClick();
}
}
});

}

/*
* 单击监听事件
*/
public void setTopBarClickListener(TopBarClickListener topBarClickListener){
this.topBarClickListener=topBarClickListener;
}
}