91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何創建自定義的alertdialog

小樊
82
2024-10-16 17:29:23
欄目: 編程語言

創建自定義的AlertDialog可以通過多種方式實現,具體取決于你使用的開發環境和框架。以下是一些常見的方法:

使用原生Android開發

在Android開發中,你可以通過繼承Dialog類來創建自定義的AlertDialog。以下是一個簡單的示例:

  1. 創建一個新的類并繼承Dialog
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class CustomAlertDialog extends Dialog {

    public CustomAlertDialog(Context context) {
        super(context);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_custom);

        Button btnPositive = findViewById(R.id.btnPositive);
        Button btnNegative = findViewById(R.id.btnNegative);
        EditText input = findViewById(R.id.editText);

        btnPositive.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String text = input.getText().toString();
                // 處理用戶輸入
                dismiss();
            }
        });

        btnNegative.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });
    }
}
  1. 創建一個布局文件dialog_custom.xml
<?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">

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter some text"/>

    <Button
        android:id="@+id/btnPositive"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Positive"/>

    <Button
        android:id="@+id/btnNegative"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Negative"/>

</LinearLayout>
  1. 在Activity中顯示自定義AlertDialog
CustomAlertDialog customAlertDialog = new CustomAlertDialog(this);
customAlertDialog.show();

使用Flutter

在Flutter中,你可以使用showDialog函數來顯示一個自定義的AlertDialog。以下是一個簡單的示例:

  1. 創建一個新的StatefulWidget
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Custom AlertDialog')),
        body: Home(),
      ),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: () {
          showDialog(
            context: context,
            builder: (context) => CustomAlertDialog(),
          );
        },
        child: Text('Show AlertDialog'),
      ),
    );
  }
}

class CustomAlertDialog extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      title: Text('Custom AlertDialog'),
      content: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Text('Enter some text:'),
          SizedBox(height: 16),
          TextField(
            decoration: InputDecoration(border: OutlineInputBorder()),
          ),
        ],
      ),
      actions: <Widget>[
        TextButton(
          child: Text('Positive'),
          onPressed: () {
            Navigator.of(context).pop('Positive');
          },
        ),
        TextButton(
          child: Text('Negative'),
          onPressed: () {
            Navigator.of(context).pop();
          },
        ),
      ],
    );
  }
}

以上示例展示了如何在原生Android和Flutter中創建自定義的AlertDialog。你可以根據自己的需求進行調整和擴展。

0
溧水县| 鲜城| 中西区| 阿城市| 遂昌县| 原平市| 梁平县| 鄱阳县| 库尔勒市| 蒙山县| 宿松县| 张家口市| 九龙城区| 崇明县| 防城港市| 临洮县| 呼和浩特市| 象州县| 若尔盖县| 赤峰市| 延寿县| 满洲里市| 灵璧县| 太和县| 曲沃县| 浪卡子县| 中宁县| 顺平县| 岑巩县| 万安县| 黑龙江省| 平谷区| 广宁县| 东丰县| 芒康县| 新野县| 洛浦县| 沁源县| 江门市| 丘北县| 朔州市|