模态对话框相关知识
-
前端Bootstrap笔记(四)完结一.模态对话框 <button class="btn btn-primary" data-toggle="modal" data-target="#mymodal-data" type="button">通过data-target触发</button> <!-- 模态弹出窗内容 --> <!-- 模态弹出窗是固定在浏览器中的,模态弹出窗宽度是自适应的,而且modal-dialog水平居中,当浏览器视窗大于768px时,模态弹出窗的宽度为600px --> <!-- 可通过给“.modal”增加类名“fade”为模态弹出框增加一个过渡动画效果 --> <div class="modal" id="mymodal-data" tabindex="-1" role="dialog
-
安卓 Dialogs(对话框)对话框是一个小的窗口用以提示用户做出决定或输入额外的信息。对话框不会填满屏幕并且通常被用作模态事件,要求用户做出行动才能继续下去。对话框设计:关于如何设计你的对话框,包括一些建议,请阅读 Dialogs 设计向导。Dialog类是对话框的基类,你应该避免直接实例化Dialog。改为使用如下的一个子类: AlertDialog一个可以展示 标题,三个按钮,可选择项的列表或自定义布局 的对话框。DatePickerDialog or TimePickerDialog一个使用预先定义好的UI,允许用户选择一个日期或时间 的对话框避免使用ProgressDialog 安卓包含了一个名为ProgressDialog的对话框,它可以展示一个带有进度条的对话框。然而,如果你需要指出加载状态或不确定的进度信息,你应该遵循 Progress & Activity&n
-
Bootstrap教程(16)--模态框1. 概述 模态框这个名字有点高雅了,其实就是对话框,用来弹出一个新的界面。 模态框的使用非常的场景,例如在用户管理页面,当进行用户新增时,可以点击新增按钮,弹出一个窗体供填入用户信息然后保存。 注意Bootstrap的模态框一次只能显示一个,不能在打开一个模态框后尝试继续打开第二个。 2. 模态框样式 模态框相关的样式类比较多,我个人是感觉有些过于复杂了,当然这里也不排除Bootstrap开发人员有意为之,毕竟复杂之后拓展时就更加容易。 我们直接来看一个示例: <!-- 模态框
-
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
模态对话框相关课程
模态对话框相关教程
- 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(); }}效果如下:
- 2.5 电话模拟命令 命令说明gsm {call\accept\cancel\busy} phonenumber模拟电话的呼入、接听、挂断、繁忙。gsm {data\voice} statedata state 命令用于更改 GPRS 数据连接的状态,data voice state 则用于更改 GPRS 语音连接的状态。gsm hold将通话状态更改为 hold。只有在当前状态为 active 或 waiting 时,才能将通话状态更改为 hold。gsm list列出所有呼入电话和外拨电话及其通话状态。gsm status报告当前的 GSM 语音/数据连接状态。相关的值就是前述 voice 和 data 命令的值。
- 对话框:AlertDialog 前两节我们讲到了 Toast 和 Notification,这两个属于单向的通知,也就是说只能由我们给用户传递信息,而不能接收用户的选择。当你希望在 Acitivity 内给用户传递信息的同时给用户一些选择权,并且不希望切换屏幕页面的时候,AlertDialog 将是最佳的选择。
- 2.1 会话模拟 会话标识因为 Http 是无状态协议,服务端为了区别不同请求分别来自哪个用户,一般借助的是 Session 和 Cookies。Session 的数据存储在服务端,而 Cookies 存储在客户端。Cookies 以键值对的方式存储在浏览器中,设置 Cookies 的时候如果指定了过期时间,对应的值就会写到本地磁盘中,时间到了自动剔除。如果没有设置过期时间,它的生命周期就是浏览器关闭了就消失了。Session 虽然存储在服务端,但是它的 SessionId 也存了一份在客户端的 Cookies 中的,并且它的生命周期随着浏览器的关闭而消失。Http 有个机制:请求的时候会把浏览器中当前域名对应作用域下的所有 Cookies 都发送到出去,所以同一个作用域下的 Cookies 对象不要太多,会影响每次请求的带宽。服务端就能从请求中拿到 SessionId ,从而查出具体的 Session 对象。模拟会话在了解了会话标识的过程后,我们发现只要拿到了用户的 SessionId 就能很容易的假冒用户的身份去与服务端交互。场景场景1:开发中我们会用 Http 请求工具,如 PostMan 去调用我的接口,验证接口的出入参。如果系统需要登录才能访问,我们比较简便的做法是用浏览器先登录,然后将浏览器的 SessionId 设置到 PostMan 中,此时接口就能访问了。场景2:浏览器的 SessionId 自己能容易获得,但是别人要拿到还是相对困难的,于是有一种名为 CSRF 跨站点请求伪造(Cross—Site Request Forgery) 的攻击出现。用户登录 A 网站,然后又打开了另一个标签页访问 B 网站,如果此时 B 中隐藏了 A 网站某个请求的链接,到用户点击了,就会以当前用户的身份去触发对应的事件。
模态对话框相关搜索
-
mac osx
machine_start
macox
magellan
malloc
manifest
manifest文件
map
map 遍历
mapreduce编程
maps google com
margin
margin bottom
margin left
margin right
margin top
marginbottom
marginheight
marginleft
margintop