在开发自定义dialog过程中,设置一个背景全透明的dialog并为该dialog设置打开关闭动画,一切都已经开发好了,忽然今天测试遇到一个问题,dialog上方忽然出现一个蓝色的线,可是用我自己的手机测试时却没有这个蓝色的线。原来不是所有的系统都有这个问题。
自定义透明背景dialog参见:自定义透明背景dialog并设置打开关闭动画
后来几经周折,终于找到了解决方法。
解决的办法是 在设置dialog之前
Context context = dialog.getContext();
int divierId = context.getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = dialog.findViewById(divierId);
divider.setBackgroundColor(Color.TRANSPARENT);
这样设置了那条官方的线为透明颜色。就不见了。
项目部分代码
DiagnosisErrorInfoDialog dialog = new DiagnosisErrorInfoDialog(this);
Context context = dialog.getContext();
int divierId = context.getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = dialog.findViewById(divierId);
divider.setBackgroundColor(Color.TRANSPARENT);
dialog .showDialog(R.layout.dialog_diagnosis_error_view, 80, 50,"我是对话框显示的内容" );