对话框相关知识
-
2Android 对话框 1.基础的对话框AlerDialog.Builder2.时间对话框TimePickerDialog3.日期对话框DatePickerDilog 获取当前时间Calendar calendar=Calendar.getInstance();4.进度条ProgressDialog5.自定义多选框package com.example.cishidai;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.ProgressDialog;import android.app.TimePickerDialog;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import&n
-
Dialog对话框1、对话框的分类 <1>AlertDialog 警告对话框(提示对话框) (1)父类:android.app.Dialog (2)创建AlertDialog对话框的步骤 a.创建AlertDialog.Builder对象,该对象能创建AlertDialog; 1. AlertDialog alert
-
安卓 Dialogs(对话框)对话框是一个小的窗口用以提示用户做出决定或输入额外的信息。对话框不会填满屏幕并且通常被用作模态事件,要求用户做出行动才能继续下去。对话框设计:关于如何设计你的对话框,包括一些建议,请阅读 Dialogs 设计向导。Dialog类是对话框的基类,你应该避免直接实例化Dialog。改为使用如下的一个子类: AlertDialog一个可以展示 标题,三个按钮,可选择项的列表或自定义布局 的对话框。DatePickerDialog or TimePickerDialog一个使用预先定义好的UI,允许用户选择一个日期或时间 的对话框避免使用ProgressDialog 安卓包含了一个名为ProgressDialog的对话框,它可以展示一个带有进度条的对话框。然而,如果你需要指出加载状态或不确定的进度信息,你应该遵循 Progress & Activity&n
-
消息对话框 confirm() prompt()JavaScript-确认(confirm 消息对话框) confirm 消息对话框通常用于允许用户做选择的动作,弹出对话框(包括一个确定按钮和一个取消按钮)。 语法: confirm(str); 参数说明: str:在消息对话框中要显示的文本 返回值: Boolean值(注: 通过返回值可以判断用户点击了什么按钮) 返回值: 当用户点击"确定"按钮时,返回true 当用户点击"取消"按钮时,返回false <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title
对话框相关课程
对话框相关教程
- 3.5 列表对话框 使用列表对话框会弹出一个选择列表,用户可以从列表中选择一个并直接关闭对话框,设置列表采用setItems()接口:package com.emercy.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { final String[] hero_road = new String[] { "对抗路", "打野", "中路", "发育路", "辅助" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.alert).setOnClickListener(this); } @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alert = builder .setIcon(R.drawable.warning) .setTitle("选择你要走的峡谷分路") .setItems(hero_road, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(),"我要走" + hero_road[which], Toast.LENGTH_SHORT).show(); } }).create(); alert.show(); }}效果如图:
- 3.2 普通对话框 一个普通的 AlertDialog 也是大家日常见到最多的一种,直接弹出一个提示,然后给出 1 - 3 个选项,比如“是”、“否”、“取消”等等,使用方法非常简单,基本上可以直接套用 3.1小节的步骤,代码如下:package com.emercy.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.alert).setOnClickListener(this); } @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alertDialog = builder .setIcon(R.drawable.warning) .setTitle("系统消息:") .setMessage("弹出一个普通的AlertDialog,\n提供确定、退出、取消三个Button") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "已确定", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "已为您取消", Toast.LENGTH_SHORT).show(); } }).setNeutralButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "已退出对话框", Toast.LENGTH_SHORT).show(); } }).create(); // 通过 create() 创建AlertDialog对象 alertDialog.show(); // 通过 show() 展示对话框 }}然后为 Activity 编写一个布局文件,其中放置一个 Button 用于触发对话框,如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="MainActivity"> <Button android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="弹出普通 AlertDialog" android:id="@+id/alert" /></RelativeLayout>编译之后点击屏幕中间的 Button,弹出来的就是一个普通对话框了。我们设置了“确定”、“取消”、“中立” 3 个Button,分别表示“确定”、“取消”以及“退出对话框” 3 种操作,实际使用中,可以在回调接口里针对 3 种 Button 设置不同的回调逻辑,效果如下:
- 3.3 单选对话框 单选对话框在普通对话框的基础之上增加一个用户的输入,顾名思义,我们可以给用户提供一些选项让用户勾选,然后在点击“确定”之后获取到用户的选择。通过setSingleChoiceItems方法设置一个字符串数组作为单选项,然后通过DialogInterface.OnClickListener接口监听用户的选择操作。package com.emercy.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { final String[] hero_road = new String[] { "对抗路", "打野", "中路", "发育路", "辅助" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.alert).setOnClickListener(this); } @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alert = builder .setIcon(R.drawable.warning) .setTitle("选择你要走的峡谷分路") .setSingleChoiceItems(hero_road, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(),"我要玩" + hero_road[which], Toast.LENGTH_SHORT).show(); } }).create(); alert.show(); }}效果如下:
- 对话框:AlertDialog 前两节我们讲到了 Toast 和 Notification,这两个属于单向的通知,也就是说只能由我们给用户传递信息,而不能接收用户的选择。当你希望在 Acitivity 内给用户传递信息的同时给用户一些选择权,并且不希望切换屏幕页面的时候,AlertDialog 将是最佳的选择。
- 3.4 多选对话框 布局文件保持不变,只需要修改点击事件即可。通过setMultiChoiceItems()接口设置一个多选列表,在用户选择的时候系统会回调onClick()方法,在其中可以记录下用户的选择,代码如下:package com.emercy.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { final String[] hero_road = new String[] { "对抗路", "打野", "中路", "发育路", "辅助" }; private boolean[] checked = new boolean[hero_road.length]; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.alert).setOnClickListener(this); } @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alert = builder .setIcon(R.drawable.warning) .setTitle("选择你擅长的峡谷分路") .setMultiChoiceItems(hero_road, null, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { checked[which] = isChecked; } }).setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("“"); for (int i = 0; i < hero_road.length; i++) { if (checked[i]) { stringBuilder.append(hero_road[i]); stringBuilder.append(","); } } stringBuilder.deleteCharAt(stringBuilder.length() - 1); stringBuilder.append("”"); Toast.makeText(MainActivity.this, "我擅长" + stringBuilder, Toast.LENGTH_SHORT).show(); } }).create(); alert.show(); }}效果如下:
- 3. 会话工厂 会话工厂的核心作用:建立和数据库系统的连接,创建会话对象。创建时需要依赖 Configuration 组件解析出来的信息。Hiberante 的会话工厂的源代码实现比较复杂,代码具有良好的结构性,会衍生出很多辅助性组件。因为只是说明问题,本文中的工厂仅仅用来创建会话对象,不考虑性能、缓存、事务等各方面问题,也不刻意讲究代码的结构性。简易框架中的会话工厂的代码简单但具有说明力:public class SessionFactory { private Map<String, String> pros; private List<String> mappings; private ThreadLocal<Session> threadLocal; public SessionFactory(Map<String, String> pros, List<String> mappings) { this.pros = pros; this.mappings = mappings; this.threadLocal = new ThreadLocal<Session>(); } public Connection getConn() { String driverClass = this.pros.get("connection.driver_class"); String url = this.pros.get("connection.url"); String userName = this.pros.get("connection.username"); String password = this.pros.get("connection.password"); try { Class.forName(driverClass); return DriverManager.getConnection(url, userName, password); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return null; } public Session openSession() { return new Session(this.getConn(), this.mappings); } public Session getCurrentSession() { Session session = this.threadLocal.get(); if (session == null) { session = this.openSession(); this.threadLocal.set(session); } return session; }}会话工厂类中有 2 个创建 Session 的方法,一个是普通的创建方法,另一个是从线程上下文中检查是否已经存在 Session 对象。
对话框相关搜索
-
daima
damain
dart
dataset
datasource
datediff
datediff函数
datepicker
datetime
db4o
dbi
dcloud
deallocate
debian安装
debugger
debugging
declaration
declarations
declare
decode函数