Android中DialogFragment自定义背景与宽高的方法

 更新时间:2017年08月29日 10:12:19   作者:RustFisher  
DialogFragment 弹出框默认是在屏幕的中央,左右还有留白,那么如何自定义背景和宽高呢?下面这篇文章就来给大家介绍了关于Android中DialogFragment自定义背景与宽高的方法,需要的朋友可以参考下。

介绍

DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。

在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。

本文主要给大家介绍了关于Android中DialogFragment自定义背景与宽高的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

自定义方法如下:

先申请无标题栏

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
// ......
}

然后在onStart方法里重新指定宽高

先设置透明背景,然后通过DisplayMetrics设置宽高。

@Override
public void onStart() {
 super.onStart();
 Window window = getDialog().getWindow();
 window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
 WindowManager.LayoutParams windowParams = window.getAttributes();
 windowParams.dimAmount = 0.0f;
 windowParams.y = 100;
 window.setAttributes(windowParams);
 Dialog dialog = getDialog();
 if (dialog != null) {
  DisplayMetrics dm = new DisplayMetrics();
  getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
  dialog.getWindow().setLayout((int) (dm.widthPixels * 0.9), (int) (dm.heightPixels * 0.76));
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Kotlin startActivity跳转Activity实现流程详解

    Kotlin startActivity跳转Activity实现流程详解

    在Android当中,Activity的跳转有两种方法,第一个是利用startActivity(Intent intent);的方法,第二个则是利用startActivityForResult(Intent intent,int requestCode);的方法,从字面上来看,这两者之间的差别只在于是否有返回值的区别,实际上也确实只有这两种区别
    2022-12-12
  • android自定义View滑动删除效果

    android自定义View滑动删除效果

    这篇文章主要为大家详细介绍了android自定义控件View滑动删除效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 协程作用域概念迭代RxTask 实现自主控制

    协程作用域概念迭代RxTask 实现自主控制

    这篇文章主要为大家介绍了协程作用域概念迭代RxTask实现自主控制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • EditText限制输入数字,精确到小数点后1位的设置方法

    EditText限制输入数字,精确到小数点后1位的设置方法

    下面小编就为大家带来一篇EditText限制输入数字,精确到小数点后1位的设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android kotlin 跳转手机热点开关页面和判断热点是否打开(亲测可用)

    Android kotlin 跳转手机热点开关页面和判断热点是否打开(亲测可用)

    跳转手机热点的页面肯定是用intent,重点是action不知道是什么,网上最常见的就是Settings.ACTION_WIFI_SETTINGS 跳转wifi设置页面,本文介绍Android kotlin 跳转手机热点开关页面和判断热点是否打开,感兴趣的朋友一起看看吧
    2023-08-08
  • Flutter 实现整个App变为灰色的方法示例

    Flutter 实现整个App变为灰色的方法示例

    这篇文章主要介绍了Flutter 实现整个App变为灰色的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Android TV listview及焦点处理

    Android TV listview及焦点处理

    这篇文章主要介绍了Android TV listview及焦点处理的相关资料,需要的朋友可以参考下
    2017-06-06
  • Android10 启动之SystemServer源码分析

    Android10 启动之SystemServer源码分析

    这篇文章主要为大家介绍了Android10 启动之SystemServer源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android 中Banner的使用详解

    Android 中Banner的使用详解

    这篇文章主要介绍了Android 中Banner的使用详解,需要的朋友可以参考下
    2017-06-06
  • Android Studio 3.0 Gradle 配置变更

    Android Studio 3.0 Gradle 配置变更

    这篇文章主要介绍了Android Studio 3.0 Gradle 配置变更的相关知识,即多渠道打包变更和更改打包命名及路径的代码,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-03-03

最新评论