android 继承布局,继承RelativeLayout 自定义布局

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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值