弹窗是常见的一种提示方式。DialogFragment是在3.0时引入的是一种特殊的 Fragment用于在 Activity 上展示一个模态的对话框。DialogFragment 示例确定UI样式首先我们得知道做成什么样。一般来说简单的弹窗是一个标题一端文字内容。 或者带有一两个按钮。这里我们做一个有标题和文字的简单弹窗。layout确定好样式后先把 layout 写出来。dialog_simple.xml?xml version1.0encodingutf-8?androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:padding12dpTextViewandroid:idid/title_tvandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:gravitycenterandroid:textColor#111111android:textSize16spandroid:textStyleboldapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfparent/TextViewandroid:idid/content_tvandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginTop20dpandroid:gravitycenterandroid:textColor#111111app:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toBottomOfid/title_tv//androidx.constraintlayout.widget.ConstraintLayout新建弹窗类新建一个SimpleDialog类继承DialogFragment。在onCreate方法中接收传入的数据。传递数据使用了Bundle。import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; public class SimpleDialog extends DialogFragment { public static final String K_TITLE “k_title”; // 传输数据时用到的key public static final String K_CONTENT “k_content”; private String title; private String content; Override public void onCreate(Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle in getArguments(); if (in ! null) { title in.getString(K_TITLE); content in.getString(K_CONTENT); } } Nullable Override public View onCreateView(NonNull LayoutInflater inflater, Nullable ViewGroup container, Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.dialog_simple, container, false); } Override public void onViewCreated(NonNull View view, Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); TextView titleTv view.findViewById(R.id.title_tv); TextView contentTv view.findViewById(R.id.content_tv); titleTv.setText(title); contentTv.setText(content); } }在onCreateView方法中使用上文建立的layout。在onViewCreated方法中进行ui操作。使用把这个窗口弹出来。我们使用DialogFragment.show(NonNull FragmentManager manager, Nullable String tag)方法。privatevoidpopSimpleDialog1(String title,String content){SimpleDialog dialognewSimpleDialog();Bundle bundlenewBundle();bundle.putString(SimpleDialog.K_TITLE,title);bundle.putString(SimpleDialog.K_CONTENT,content);dialog.setArguments(bundle);dialog.show(getSupportFragmentManager(),one-tag);}// 调用popSimpleDialog1(欢迎访问);运行到机器上可以看到效果。小结:使用 DialogFragment 来实现弹窗。 需要确定 ui 样式建立 layout新建类继承DialogFragment传入数据。最后分享一份【腾讯技术团队出品】Android零基础入门到精通Android Studio安装教程全套安卓基础教程Android编程入门教程Java语言基础从入门到熟悉Kotlin语言基础从入门到熟悉Android 技术栈从入门到熟悉Android Jetpack 全家桶全面学习对于新手来说可能安装Android Studio存在一定困难你可以看着以下视频一步步的跟着学习安装运行Android Studio 安装教程有了Java阶段的学习这一阶段建议以视频学习为主辅以图书查漏补缺。如果以图书为主可以根据图书讲解敲代码辅以教学视频查漏补缺。遇到问题可以去百度入门的问题一般会有很多人遇到并且给出比较好的解答。需要掌握基本知识点比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画、网络通信等常见技术。全套零基础教程已经为你们准备好了需要的可以添加下方二维码免费领取全套安卓基础教程