网站源码还可以做授权么,wordpress the_content() 不显示,wordpress如何去掉显示文章的分类,广州市南沙建设局网站介绍
Android 本身自己带的有开关控件#xff0c;但是很多时候我们是不愿意使用这种开关的#xff0c;感觉使用起来比较麻烦#xff0c;特别是遇到需要延迟操作的情况。
比如有一个需求是这样的#xff1a;我们需要打开一个设置#xff0c;但是这个设置是否打开需要经过…介绍
Android 本身自己带的有开关控件但是很多时候我们是不愿意使用这种开关的感觉使用起来比较麻烦特别是遇到需要延迟操作的情况。
比如有一个需求是这样的我们需要打开一个设置但是这个设置是否打开需要经过网络请求获取打开的结果。这样的话需要时间但是要是使用Switch的话就会出现点击开关打开了然后网络请求的数据返回的是false这样又要设置Switch设置成关闭的样式这样就很影响显示的效果除非我们进行一些处理但是这样也是挺麻烦的所以不太爱用这个控件。
解决方式
使用TextView替换Switch其实我觉得使用TextView可以代替的控件很多特别是一些要求不精细的页面ImageView也可以使用TextView代替TextView真是多才多艺。
实现方式
1.添加开关图片 ic_kaiguan_on
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width64dpandroid:height32dpandroid:viewportWidth2048android:viewportHeight1024pathandroid:fillColor#3f94f2android:pathDataM1536.01,0L512.01,0C229.23,0 0,229.23 0,512.01c0,282.75 229.23,511.99 512.01,511.99L1536.01,1024c282.78,0 512.01,-229.23 512.01,-511.99C2048.02,229.23 1818.79,0 1536.01,0zM1536.01,921.61a409.62,409.62 0,1 1,409.6 -409.6A409.6,409.6 0,0 1,1536.01 921.61z /
/vectoric_kaiguan_off
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width64dpandroid:height32dpandroid:viewportWidth2048android:viewportHeight1024pathandroid:fillColor#CCCCCCandroid:pathDataM1536.01,0H512.01C229.23,0 0,229.23 0,512.01c0,282.75 229.23,511.99 512.01,511.99H1536.01c282.78,0 512.01,-229.23 512.01,-511.99C2048.02,229.23 1818.79,0 1536.01,0zM514.46,921.61a409.62,409.62 0,1 1,409.6 -409.6A409.6,409.6 0,0 1,514.46 921.61z /
/vector2.添加布局 TextViewandroid:idid/tv_switchandroid:layout_widthdimen/dp_60android:layout_heightdimen/dp_30android:layout_gravitycenter_verticalandroid:layout_marginEnddimen/dp_10android:backgrounddrawable/ic_kaiguan_offandroid:gravitycenter /3.代码 tv_switch.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {v.setSelected(!v.isSelected());tv_switch.setBackgroundResource(v.isSelected() ? R.drawable.ic_kaiguan_on : R.drawable.ic_kaiguan_off);}});要是遇到需要延迟判断是否开关的情况那就这样 tv_switch.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {// 执行延时操作new Handler().postDelayed(new Runnable() {Overridepublic void run() {// 延时操作结束后根据结果进行设置开关的状态boolean isSwitchOn // 获取你需要的状态例如从某个方法或变量tv_switch.setBackgroundResource(isSwitchOn ? R.drawable.ic_kaiguan_on : R.drawable.ic_kaiguan_off);}}, 2000); // 2000毫秒2秒的延时}
});
其实使用TextView代替Switch原因就是这个Switch点击之后不管做什么操作都会改变Switch的开关状态除非进行一些特殊处理这样处理延时任务就会很麻烦只要不硬性要求必须使用Switch的情况一般都喜欢使用TextView。