当然可以!下面是一个简单的 Android BottomSheetDialog 示例
首先,在 res/layout
目录下创建一个新的布局文件 bottom_sheet_dialog_fragment.xml
,用于定义 BottomSheetDialog 的布局内容:
接下来,创建一个新的 Java 类 BottomSheetDialogFragment.java
,继承自 DialogFragment
,并重写 onCreateDialog
方法:
import android.app.Dialog; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Style; import com.google.android.material.bottomsheet.BottomSheetDialog; @Style(style = DialogFragment.STYLE_NORMAL) public class BottomSheetDialogFragment extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { return new BottomSheetDialog(requireContext(), R.style.BottomSheetDialogTheme); } }
在这个类中,我们使用了 BottomSheetDialog
类来创建一个带有自定义布局的 BottomSheetDialog。同时,我们还需要在 styles.xml
文件中定义一个名为 BottomSheetDialogTheme
的样式,以便为 BottomSheetDialog 设置主题:
最后,在需要显示 BottomSheetDialog 的 Activity 中,创建一个 BottomSheetDialogFragment
对象,并调用 show
方法来显示它:
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建一个 BottomSheetDialogFragment 对象 BottomSheetDialogFragment bottomSheetDialogFragment = new BottomSheetDialogFragment(); // 显示 BottomSheetDialog bottomSheetDialogFragment.show(getSupportFragmentManager(), "bottom_sheet_dialog"); } }
现在运行你的应用,当点击某个按钮时,BottomSheetDialog 应该会显示出来。