中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

android bottomsheetdialog案例可否舉例

小樊
81
2024-11-22 16:28:27
欄目: 編程語言

當然可以!下面是一個簡單的 Android BottomSheetDialog 示例

首先,在 res/layout 目錄下創建一個新的布局文件 bottom_sheet_dialog_fragment.xml,用于定義 BottomSheetDialog 的布局內容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="這是一個 BottomSheetDialog 示例"
        android:textSize="18sp"
        android:gravity="center" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="點擊關閉 BottomSheetDialog"
        android:onClick="onCloseClick" />

</LinearLayout>

接下來,創建一個新的 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 設置主題:

<style name="BottomSheetDialogTheme" parent="Theme.MaterialComponents.Light.BottomSheetDialog">
    <!-- 在這里自定義 BottomSheetDialog 的樣式 -->
</style>

最后,在需要顯示 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 應該會顯示出來。

0
巫山县| 隆林| 青海省| 大城县| 古交市| 同德县| 无极县| 贞丰县| 托里县| 蓬莱市| 常山县| 麻江县| 页游| 拜泉县| 陆丰市| 深州市| 岳西县| 滨州市| 江陵县| 河南省| 西平县| 福泉市| 襄樊市| 雷州市| 南靖县| 偏关县| 棋牌| 电白县| 樟树市| 广宗县| 武功县| 台江县| 绥棱县| 博乐市| 神农架林区| 靖江市| 大化| 宁德市| 丹巴县| 平潭县| 洛隆县|