当前位置: 首页 > 科技观察

Android通用标题栏组合控件

时间:2023-03-14 21:53:57 科技观察

由于项目中经常用到这种组合控件,所以对其进行了封装。具体效果见下图。老司机可以绕过它!1.主要功能支持左右图标动态设置,动态修改左右、中间文字、字体大小和颜色修改支持左右图标,左右文字隐藏显示支持左右图标和文字点击监控2.基本使用app:rightImage="@drawable/rightarrow"app:leftImageVisiable="true"app:rightImageVisible="true"app:leftText="left"app:rightText="right"app:midText="title"app:midTextFontColor="#ffffff"app:leftTextColor="#ffffff"app:rightTextColor="@color/colorAccent"app:titleBarBackground="@color/colorPrimary"app:midTextFontSize="18px"app:leftTextVisibale="true"app:rightTextVisible="true"app:leftTextFontSize="16px"app:rightTextFontSize="16px"/>三、基本属性介绍属性名属性描述属性值titleBarBackground标题栏背景颜色color,参考,默认为白色leftImage左图参考leftImageVisiable左图是否可见boolean,默认为true,显示控件leftText左文字字符串,参考leftTextVisibale左文字是否可见boolean,默认为true,显示控件leftTextFontSize左侧文字字体大小尺寸,参考,默认为16spleftTextColor左侧文字字体颜色颜色,参考midText中间文字字符串,参考midTextVisiable中间文字可见boolean,默认为true,显示控件midTextFontSize中间文字字体大小尺寸,参考,默认18spmidTextFontColor中间文字的字体颜色,参考rightText右侧文字的颜色,参考rightTextVisible右侧文字是否可见boolean,默认为true,显示控制rightTextFontSize右侧文字的字体大小,参考,默认is16sprightTextColor右边文字字体的颜色,参考rightImage右边图片参考rightImageVisible右边图片是否可见boolean,默认为true,显示控件4,组合控件类5,attrs.xml<属性e="leftImageVisiable"format="boolean"/>六、组合控件布局(custom_title_bar.xml)为什么要用merge,因为组合控件已经扩展了RelativeLayout,如果根布局还在使用viewGroup,布局会重复嵌套,影响View的绘制性能;7.具体使用CustomNavigatorBarcustomNavigatorBar=(CustomNavigatorBar)findViewById(r.id.customView);/***第一类监听的具体实现*/customNavigatorBar.setLeftImageOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewview){Toast.makeText(MainActivity.this,"left",Toast.LENGTH_SHORT).show();}});/***二次监听的具体实现*/customNavigatorBar.addViewClickListener(newCustomNavigatorBar.OnCustomClickListener(){@OverridepublicvoidonClickListener(ViewrootView){switch(rootView.getId()){caseR.id.right_image:至ast.makeText(MainActivity.this,"right_imageisclicked",Toast.LENGTH_SHORT).show();break;caseR.id.left_image:Toast.makeText(MainActivity.this,"left_imageisclicked",Toast.LENGTH_SHORT).show();break;}}});