1、设置背景透明度
正确方法是设置Dialog背景暗黑度,在设置对话框的布局文件后调用以下代码
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
WindowManager.LayoutParams attributes = window.getAttributes();
// 0-1 0为全亮背景 1为全暗背景
attributes.dimAmount = 0.2f;
错误方法是设置Dialog透明度,该方式设置的是整个Dialog而不仅仅是背景的透明度
Window window = getWindow();
WindowManager.LayoutParams attributes = window.getAttributes();
attributes.alpha = 0.3f;
0-1 0为完全透明 1为完全不透明
2、Warning:debug info can be unavailable.Please close other application using ADB: Monitor, DDMS, Eclipse
在选择调试应用时,弹出以上提示警告内容,执行以下命令
adb usb
会提示:restarting in USB mode
再去选择调试应用时问题解决
3、在Dialog中使用ViewPager报java.lang.IllegalArgumentException:No view found for id 0x889900 for fragment
Dialog中使用ViewPager提示中不到 ViewPager 的 id
分析原因:
创建 PagerAdapter 的时候,传入了一个 FragmentManager,我们一般是传入 getSupportFragmentManager() ,是 Activity 的 FragmentManger。
如果传入的是 Activity 的 FragmentManger,默认在 Activity 的布局 xml 中寻找ViewPager,但是实际上它是在弹出的Dialog里定义的,并不是在 Activity 的布局里,所以出现找不到资源id的情况
解决方法:
使用DialogFragment代替Dialog,创建PagerAdapter时使用getChildFragmentManager()
public class MyDialog extends DialogFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.CommonBottomDialogStyle);
}
public void onStart() {
super.onStart();
WindowManager.LayoutParams params = getDialog().getWindow().getAttributes();
params.gravity = Gravity.BOTTOM; //显示在屏幕底部
}
@Override
public void onResume() {
super.onResume();
//控制弹窗高度 高度只占屏幕的60%
getDialog().getWindow().setLayout(ScreenUtil.getScreenWidth(getActivity()), (int) (ScreenUtil.getScreenHeight(getActivity()) * 0.6));
}
}
<style name="CommonBottomDialogStyle" parent="@android:style/Theme.Dialog">
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowAnimationStyle">@style/CommonBottomDialogAnim</item>
</style>
<style name="CommonBottomDialogAnim" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/slide_in_from_bottom</item>
<item name="android:windowExitAnimation">@anim/slide_out_to_bottom</item>
</style>
H5相关问题
H5 下载乱码问题
字符集的问题
H5 网易邮箱无法下载附件
防盗链 需要设置cookie