深圳网站建设价格多少钱,软件开发app的公司,网络口碑营销名词解释,html制作百度页面六年前写的一个控件#xff0c;一直没有时间总结#xff0c;趁年底不怎么忙#xff0c;整理一下之前写过的组件。供大家一起参考学习。废话不多说#xff0c;先上图。
一、效果图 实现思路使用的是radioGroup加radiobutton组合方式。原理就是通过修改RadioButton 的backgr… 六年前写的一个控件一直没有时间总结趁年底不怎么忙整理一下之前写过的组件。供大家一起参考学习。废话不多说先上图。
一、效果图 实现思路使用的是radioGroup加radiobutton组合方式。原理就是通过修改RadioButton 的background样式实现radioGroup嵌套radiobutton已经实现单选互斥故直接监听其选中监听处理数据就好。
dp_0.5就是0.5dp的意思自行替换成自己的值。
dp_15代表15dp
二、布局代码 方案采用的是RadioGroup嵌套RadioButton的方式。 RadioGroupandroid:idid/rg_genderandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_belowid/monitor_remdandroid:layout_marginLeftdimen/dp_24android:layout_marginTopdimen/dp_10android:orientationhorizontalandroid:padding1dpRadioButtonandroid:idid/rb_press_handroid:layout_widthwrap_contentandroid:layout_heightdimen/dp_25android:buttonnullandroid:checkedtrueandroid:drawableLeftdrawable/checked_manageandroid:drawablePadding5dpandroid:text高压android:textColorcolor/whiteandroid:textSizedimen/sp_11 /RadioButtonandroid:idid/rb_press_landroid:layout_widthwrap_contentandroid:layout_heightdimen/dp_30android:layout_marginLeft10dpandroid:buttonnullandroid:drawableLeftdrawable/checked_manageandroid:drawablePadding5dpandroid:text低压android:textColorcolor/whiteandroid:textSizedimen/sp_11 /RadioButtonandroid:idid/rb_press_rateandroid:layout_widthwrap_contentandroid:layout_heightdimen/dp_30android:layout_marginLeft10dpandroid:buttonnullandroid:drawableLeftdrawable/checked_manageandroid:drawablePadding5dpandroid:text心率android:textColorcolor/whiteandroid:textSizedimen/sp_11 //RadioGroup
三、样式代码 3.1 android:drawableLeftdrawable/checked_manage样式 这种方式使用的是drawableLeft方式没使用background。
?xml version1.0 encodingutf-8?
selector xmlns:androidhttp://schemas.android.com/apk/res/androiditem android:drawabledrawable/press_check android:state_checkedtrue/itemitem android:drawabledrawable/nomar_check /item
/selector3.1.1 press_check样式svg方式实现
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width10dpandroid:height10dpandroid:viewportWidth1024android:viewportHeight1024pathandroid:pathDataM511.2,63.9c-246.3,0 -447.8,201.5 -447.8,447.8s201.5,447.8 447.8,447.8C757.5,959.6 959,758 959,511.7S757.5,63.9 511.2,63.9zM868.5,662.1c-19.6,46.2 -47.7,87.7 -83.4,123.4s-77.3,63.8 -123.4,83.4c-47.7,20.3 -98.3,30.6 -150.4,30.6 -52.1,0 -102.7,-10.3 -150.4,-30.6 -46.2,-19.6 -87.7,-47.7 -123.4,-83.4s-63.8,-77.3 -83.4,-123.4c-20.3,-47.7 -30.6,-98.3 -30.6,-150.4 0,-52.1 10.3,-102.7 30.6,-150.4 19.6,-46.2 47.7,-87.7 83.4,-123.4s77.3,-63.8 123.4,-83.4c47.7,-20.3 98.3,-30.6 150.4,-30.6 52.1,0 102.7,10.3 150.4,30.6 46.2,19.6 87.7,47.7 123.4,83.4s63.8,77.3 83.4,123.4C888.7,409 899,459.6 899,511.7c0,52.1 -10.3,102.7 -30.5,150.4zandroid:fillColor#2775DE/pathandroid:pathDataM511.2,511.7m-170,0a170,170 0,1 0,340 0,170 170,0 1,0 -340,0Zandroid:fillColor#2775DE/
/vector3.1.2 nomar_check样式
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width10dpandroid:height10dpandroid:viewportWidth1024android:viewportHeight1024pathandroid:pathDataM512,182.9c-181.8,0 -329.1,147.4 -329.1,329.1 0,181.8 147.4,329.1 329.1,329.1 181.8,0 329.1,-147.4 329.1,-329.1C841.1,330.2 693.8,182.9 512,182.9zM512,786.3c-151.5,0 -274.3,-122.8 -274.3,-274.3 0,-151.5 122.8,-274.3 274.3,-274.3s274.3,122.8 274.3,274.3C786.3,663.5 663.5,786.3 512,786.3zandroid:fillColor#ffffff/
/vector3.2 checked_manage样式
?xml version1.0 encodingutf-8?
selector xmlns:androidhttp://schemas.android.com/apk/res/androiditem android:drawabledrawable/press_check android:state_checkedtrue/itemitem android:drawabledrawable/nomar_check /item
/selector3.2.1 press_check样式
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width10dpandroid:height10dpandroid:viewportWidth1024android:viewportHeight1024pathandroid:pathDataM511.2,63.9c-246.3,0 -447.8,201.5 -447.8,447.8s201.5,447.8 447.8,447.8C757.5,959.6 959,758 959,511.7S757.5,63.9 511.2,63.9zM868.5,662.1c-19.6,46.2 -47.7,87.7 -83.4,123.4s-77.3,63.8 -123.4,83.4c-47.7,20.3 -98.3,30.6 -150.4,30.6 -52.1,0 -102.7,-10.3 -150.4,-30.6 -46.2,-19.6 -87.7,-47.7 -123.4,-83.4s-63.8,-77.3 -83.4,-123.4c-20.3,-47.7 -30.6,-98.3 -30.6,-150.4 0,-52.1 10.3,-102.7 30.6,-150.4 19.6,-46.2 47.7,-87.7 83.4,-123.4s77.3,-63.8 123.4,-83.4c47.7,-20.3 98.3,-30.6 150.4,-30.6 52.1,0 102.7,10.3 150.4,30.6 46.2,19.6 87.7,47.7 123.4,83.4s63.8,77.3 83.4,123.4C888.7,409 899,459.6 899,511.7c0,52.1 -10.3,102.7 -30.5,150.4zandroid:fillColor#2775DE/pathandroid:pathDataM511.2,511.7m-170,0a170,170 0,1 0,340 0,170 170,0 1,0 -340,0Zandroid:fillColor#2775DE/
/vector3.2.2 nomar_check样式
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width10dpandroid:height10dpandroid:viewportWidth1024android:viewportHeight1024pathandroid:pathDataM512,182.9c-181.8,0 -329.1,147.4 -329.1,329.1 0,181.8 147.4,329.1 329.1,329.1 181.8,0 329.1,-147.4 329.1,-329.1C841.1,330.2 693.8,182.9 512,182.9zM512,786.3c-151.5,0 -274.3,-122.8 -274.3,-274.3 0,-151.5 122.8,-274.3 274.3,-274.3s274.3,122.8 274.3,274.3C786.3,663.5 663.5,786.3 512,786.3zandroid:fillColor#ffffff/
/vector3.3 checked_manage样式
?xml version1.0 encodingutf-8?
selector xmlns:androidhttp://schemas.android.com/apk/res/androiditem android:drawabledrawable/press_check android:state_checkedtrue/itemitem android:drawabledrawable/nomar_check /item
/selector四 java代码 由于使用了databinding双向绑定,故就不演示findviewbyid如果没有使用databinding
//高压、低压、心率选择处理
mDataBinding.rgGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {Overridepublic void onCheckedChanged(RadioGroup radioGroup, int checkedId) {switch (checkedId) {case R.id.rb_press_h:Log.d(RadioGroup, 高压);break;case R.id.rb_press_l:Log.d(RadioGroup, 低压);break;case R.id.rb_press_rate:Log.d(RadioGroup, 心率);break;}}
});
五 给予新手的寄语 对于新手来讲开发总会遇到各种各样的问题逐个解决就好注意沟通协调。