Android编程使用android-support-design实现MD风格对话框功能示例

给您详细讲解一下。

Android编程使用android-support-design实现MD风格对话框功能示例攻略

本篇攻略主要介绍如何使用 android-support-design 库,实现 MD 风格的对话框功能,以及两个对话框实例的演示。

前置条件:
- 熟悉 Android 开发以及 Android Studio 工具的使用;
- 已经配置好了android-support-design库。

一、添加依赖库

打开 app 的 build.gradle 文件,添加如下依赖:

implementation 'com.android.support:design:28.0.0'

二、创建MD风格对话框

1.示例一:普通文本对话框

实现步骤如下:

1.在layout目录下新建一个名为dialog_md_common.xml 的布局文件,用于定义对话框的布局。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.TextInputLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="16dp"
    android:padding="16dp"
    android:hint="请输入文字">

    <android.support.design.widget.TextInputEditText
        android:id="@+id/dialog_text_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text" />

</android.support.design.widget.TextInputLayout>

2.在 activity 中添加如下代码,用于显示对话框:

private void showCommonDialog() {
   final TextInputLayout textInputLayout = (TextInputLayout) LayoutInflater.from(this).inflate(
           R.layout.dialog_md_common, null);

   new AlertDialog.Builder(this)
           .setTitle("MD风格示例对话框标题")
           .setView(textInputLayout)
           .setPositiveButton("确定", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
                   String inputText = textInputLayout.getEditText().getText().toString();
                   // 对话框中确定按钮被按下的处理逻辑
                   // ...
               }
           })
           .setNegativeButton("取消", null)
           .show();
}

3.在需要的位置调用showCommonDialog()即可弹出对话框。

2.示例二:日期选择对话框

实现步骤如下:

1.在layout目录下新建一个名为dialog_md_date.xml 的布局文件,用于定义对话框的布局。

<?xml version="1.0" encoding="utf-8"?>
<DatePicker xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:datePickerMode="spinner">
</DatePicker>

2.在 activity 中添加如下代码,用于显示对话框:

private void showDatePickerDialog() {
   final DatePicker datePicker = (DatePicker) LayoutInflater.from(this).inflate(R.layout.dialog_md_date,
           null);

   new AlertDialog.Builder(this)
           .setTitle("MD风格示例对话框标题")
           .setView(datePicker)
           .setPositiveButton("确定", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
                   int year = datePicker.getYear();
                   int month = datePicker.getMonth();
                   int day = datePicker.getDayOfMonth();
                   // 对话框中确定按钮被按下的处理逻辑
                   // ...
               }
           })
           .setNegativeButton("取消", null)
           .show();
}

3.在需要的位置调用showDatePickerDialog()即可弹出对话框。

以上就是使用 android-support-design 实现 MD 风格对话框功能的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android编程使用android-support-design实现MD风格对话框功能示例 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • go语言实现markdown解析库的方法示例

    当今,Markdown已成为最常用的文本格式之一。为了便于开发者使用和转换Markdown格式的文件,很多编程语言都提供了Markdown解析库。本篇攻略将为大家介绍如何使用Go语言编写Markdown解析库的方法,并提供两个示例,帮助大家更好的理解。 第一步:准备工作 在这一步骤中,我们需要做一些准备工作。首先,需要安装Go语言编译器,这可以从Go官网下载…

    GitHub 2023年5月16日
    00
  • Centos安装python3与scapy模块的问题及解决方法

    下面是“Centos安装python3与scapy模块的问题及解决方法”的完整攻略。 安装Python3 前置条件 在安装Python3之前,需要先确认系统中是否已经有Python2安装。如果已经安装,需要确保Python2不是系统默认版本。 步骤一:安装依赖 sudo yum groupinstall "Development tools&quo…

    GitHub 2023年5月16日
    00
  • 阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

    阿里巴巴是国内著名的互联网技术公司之一,他们最近推出了一款名为Dragonwell的开源JDK,最新版本是8.1.1-GA。以下是一个详细的攻略。 什么是Dragonwell Dragonwell是阿里巴巴开源的JDK分支,其主要目的是改善JDK在阿里巴巴自己的业务场景下的性能和稳定性,同时也会反馈一些改进提交给JDK社区。我们也可以认为Dragonwell…

    GitHub 2023年5月16日
    00
  • Git基本概述

    Git基本概述 什么是Git? Git是一个开源的分布式版本控制系统,是由Linus Torvalds在2005年创造的。Git可以帮助团队高效地协同开发,记录项目的变化历史,备份或者恢复项目的任意版本,并保护项目代码的完整性。 Git的工作原理 Git基于分布式控制理念,每个开发者在本地都有一个完整的Git代码仓库(包含完整的历史版本)。团队成员之间通过p…

    GitHub 2023年5月16日
    00
  • 使用Python快乐学数学Github万星神器Manim简介

    下面是关于“使用Python快乐学数学Github万星神器Manim简介”的完整攻略。 简介 Manim是一款用于动画的Python库,它可以通过Python代码生成高质量的数学动画。Manim支持的数学领域包括但不限于线性代数、微积分、几何学以及图论等,能够生成非常复杂而具有美感的动画效果,让学习数学更加有趣生动。 安装 要使用Manim,首先需要安装Ma…

    GitHub 2023年5月16日
    00
  • 关于vuepress部署出现样式的问题及解决

    关于VuePress部署出现样式问题及解决的完整攻略 一、问题描述 在使用VuePress搭建博客或文档网站时,有时候在部署到远程服务器上之后,会出现样式失效的问题,即网站内容无法正常展示CSS样式效果。 二、问题原因 这个问题主要是由于网站无法正确加载CSS和JavaScript文件导致的。在使用VuePress时,它会使用基于Webpack的打包工具进行…

    GitHub 2023年5月16日
    00
  • Go语言自带测试库testing使用教程

    下面是对于“Go语言自带测试库testing使用教程”的完整攻略,包括使用步骤以及两条示例说明。 概述 testing是Go语言自带的测试库,它提供了一套工具来编写自动化测试程序,用于确保代码的正确性和稳定性。在Go语言中,测试程序和待测试程序通常被放在同一个包里,位于同一目录下,文件名以_test.go结尾。这种文件位置的约定可以帮助testing库自动找…

    GitHub 2023年5月16日
    00
  • Python 通过爬虫实现GitHub网页的模拟登录的示例代码

    Python 通过爬虫实现GitHub网页的模拟登录的示例代码。 示例一:利用requests和beautifulsoup import requests from bs4 import BeautifulSoup # 登录页面url login_url = "https://github.com/login" # 浏览器请求头 head…

    GitHub 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部