因项目需要,最近实现一个语音录制功能,录制显示类似微信语音需要根据语音长度显示不同长度,如下图
1、计算屏幕宽高
2、根据屏幕宽高计算组件的宽高,先设置最小宽度=屏幕宽度*0.15f,最大宽度=屏幕宽度*0.7f,因为以一分钟60秒为一条语音,除以60就可得到一秒钟多长,voiceTimeLength是当前语音长度,最终把得到的宽度setLayoutParams即可,就可得到自动显示组件宽度效果
ViewGroup.LayoutParams lParams= layoutVoice.getLayoutParams();
int width=ScreenSizeUtil.getScreenWidth(DangerousReportActivity.this);
lParams.width=(int) (width*0.15f+width*0.7f/60f*voiceTimeLength);
layoutVoice.setLayoutParams(lParams);