public class HomeToolbarView extendsRelativeLayout {
TextView tvTitle;publicHomeToolbarView(Context context) {super(context);
addView(context);
}publicHomeToolbarView(Context context, AttributeSet attrs) {super(context, attrs);
addView(context);
}public HomeToolbarView(Context context, AttributeSet attrs, intdefStyleAttr) {super(context, attrs, defStyleAttr);
addView(context);
}public voidaddView(Context mContext){
ImageView imageViewMenu=newImageView(mContext);
ImageView imageViewMessage=newImageView(mContext);
tvTitle=newTextView(mContext);
addView(imageViewMenu);
addView(imageViewMessage);
addView(tvTitle);
RelativeLayout.LayoutParams menuLayoutParams=(RelativeLayout.LayoutParams) imageViewMenu.getLayoutParams();
RelativeLayout.LayoutParams messageLayoutParams=(RelativeLayout.LayoutParams) imageViewMessage.getLayoutParams();
RelativeLayout.LayoutParams titleLayoutParams=(RelativeLayout.LayoutParams) tvTitle.getLayoutParams();
menuLayoutParams.width=getResources().getDimensionPixelOffset(R.dimen.home_toolbar_image_width_heigth);
menuLayoutParams.height=getResources().getDimensionPixelOffset(R.dimen.home_toolbar_image_width_heigth);
menuLayoutParams.setMargins(getResources().getDimensionPixelOffset(R.dimen.common_margin)
,0,0,0);
menuLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT,TRUE);
menuLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL,TRUE);
titleLayoutParams.width=LayoutParams.MATCH_PARENT;
titleLayoutParams.height=LayoutParams.MATCH_PARENT;
titleLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT,TRUE);
messageLayoutParams.width=getResources().getDimensionPixelOffset(R.dimen.home_toolbar_image_width_heigth);
messageLayoutParams.height=getResources().getDimensionPixelOffset(R.dimen.home_toolbar_image_width_heigth);
messageLayoutParams.setMargins(0,0,getResources().getDimensionPixelOffset(R.dimen.common_margin),0);
messageLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,TRUE);
messageLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL,TRUE);
imageViewMenu.setBackground(ContextCompat.getDrawable(mContext,R.drawable.ico_toolbar_left_menu));
imageViewMessage.setBackground(ContextCompat.getDrawable(mContext,R.drawable.ico_toolbar_left_message));
tvTitle.setText(mContext.getString(R.string.app_name));
tvTitle.setTextSize(getResources().getDimension(R.dimen.textsize_8));
tvTitle.setTextColor(ContextCompat.getColor(mContext,R.color.common_blue));
tvTitle.setGravity(Gravity.CENTER);
imageViewMenu.setOnClickListener(newOnClickListener() {public voidonClick(View v) {
listener.leftClick();
}
});
imageViewMessage.setOnClickListener(newOnClickListener() {public voidonClick(View v) {
listener.rightClick();
}
});
imageViewMenu.setLayoutParams(menuLayoutParams);
imageViewMessage.setLayoutParams(messageLayoutParams);
tvTitle.setLayoutParams(titleLayoutParams);
}public voidsetTitle(String title){
tvTitle.setText(title);
}//自定义的顶部ActionBar的点击监听;
privateHomeToolbarClickListener listener;//点击事件的监听接口
public interfaceHomeToolbarClickListener {voidleftClick();voidrightClick();
}//提供activity调用的方法,类似于Button类的setOnClickListener(OnClickListener listener)//传入具体实现方法
public voidsetOnTopbarClickListener(HomeToolbarClickListener listener){this.listener=listener;
}
}