1.android中的对话框怎么写
Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如onCreateDialog(int),onPrepareDialog(int,Dialog),showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog).
onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频流。
showDialog(int):当你想要显示一个对话框时,调用showDialog(intid)方法并传递一个唯一标识这个对话框的整数。当对话框第一次被请求时,Android从你的Activity中调用onCreateDialog(intid),你应该在这里初始化这个对话框Dialog。这个回调方法被传以和showDialog(intid)相同的ID。当你创建这个对话框后,在Activity的最后返回这个对象。
onPrepareDialog(int,Dialog):在对话框被显示之前,Android还调用了可选的回调函数onPrepareDialog(intid,Dialog).如果你想在每一次对话框被打开时改变它的任何属性,你可以定义这个方法。这个方法在每次打开对话框时被调用,而onCreateDialog(int)仅在对话框第一次打开时被调用。如果你不定义onPrepareDialog(),那么这个对话框将保持和上次打开时一样。这个方法也被传递以对话框的ID,和在onCreateDialog()中创建的对话框对象。
dismissDialog(int):当你准备关闭对话框时,你可以通过对这个对话框调用dismiss()来消除它。如果需要,你还可以从这个Activity中调用dismissDialog(intid)方法,这实际上将为你对这个对话框调用dismiss()方法。如果你想使用onCreateDialog(intid)方法来管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候,这个对话框对象的状态将由该Activity保留。如果你决定不再需要这个对象或者清除该状态是重要的,那么你应该调用removeDialog(intid)。这将删除任何内部对象引用而且如果这个对话框正在显示,它将被消除。
2.android中的对话框怎么写
Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如onCreateDialog(int),onPrepareDialog(int,Dialog),showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。
这样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频流。
showDialog(int):当你想要显示一个对话框时,调用showDialog(intid)方法并传递一个唯一标识这个对话框的整数。当对话框第一次被请求时,Android从你的Activity中调用onCreateDialog(intid),你应该在这里初始化这个对话框Dialog。
这个回调方法被传以和showDialog(intid)相同的ID。当你创建这个对话框后,在Activity的最后返回这个对象。
onPrepareDialog(int,Dialog):在对话框被显示之前,Android还调用了可选的回调函数onPrepareDialog(intid,Dialog).如果你想在每一次对话框被打开时改变它的任何属性,你可以定义这个方法。这个方法在每次打开对话框时被调用,而onCreateDialog(int)仅在对话框第一次打开时被调用。
如果你不定义onPrepareDialog(),那么这个对话框将保持和上次打开时一样。这个方法也被传递以对话框的ID,和在onCreateDialog()中创建的对话框对象。
dismissDialog(int):当你准备关闭对话框时,你可以通过对这个对话框调用dismiss()来消除它。如果需要,你还可以从这个Activity中调用dismissDialog(intid)方法,这实际上将为你对这个对话框调用dismiss()方法。
如果你想使用onCreateDialog(intid)方法来管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候,这个对话框对象的状态将由该Activity保留。如果你决定不再需要这个对象或者清除该状态是重要的,那么你应该调用removeDialog(intid)。
这将删除任何内部对象引用而且如果这个对话框正在显示,它将被消除。 下面是几种对话框的效果图一:图二:图三:图四:图五:图六:图七:图1效果:该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。
代码: 创建对话框方法dialog() protected void dialog() { AlertDialog.Builder builder = new Builder(Main.this); builder.setMessage("确认退出吗?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Main.this.finish(); } }); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show();}在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { dialog(); } return false;} 图2效果:改变了对话框的图表,添加了三个按钮Dialog dialog = new AlertDialog.Builder(this).setIcon( android.R.drawable.btn_star).setTitle("喜好调查").setMessage( "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(Main.this, "我很喜欢他的电影。", Toast.LENGTH_LONG).show(); } }).setNegativeButton("不喜欢", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(Main.this, "我不喜欢他的电影。
", Toast.LENGTH_LONG) .show(); } }).setNeutralButton("一般", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG) .show(); } }).create(); dialog.show(); 图3效果:信息内容是一个简单的View类型new AlertDialog.Builder(this).setTitle("请输入").setIcon( android.R.drawable.ic_dialog_info).setView( new EditText(this)).setPositiveButton("确定", null) .setNegativeButton("取消", null).show(); 图4效果:信息内容是一组单选框new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems( new String[] { "Item1", "Item2" }, null, null) .setPositiveButton("确定", null) .setNegativeButton("取消", null).show(); 图5效果:信息内容是一组多选框new AlertDialog.Builder(this).setTitle("单选框").setIcon( android.R.drawable.ic_dialog_info).setSingleChoiceItems( new String[] { "Item1", "Item2" }, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, in。
3.android消息弹出框怎么写
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。
下面例子来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。
使用AlertDialog.Builder创建对话框需要了解以下几个方法:setTitle :为对话框设置标题setIcon :为对话框设置图标setMessage:为对话框设置内容setView : 给对话框设置自定义样式setItems :设置对话框要显示的一个list,一般用于显示几个命令时setMultiChoiceItems :用来设置对话框显示一系列的复选框setNeutralButton :普通按钮setPositiveButton :给对话框添加"Yes"按钮setNegativeButton :对话框添加"No"按钮create : 创建对话框show :显示对话框一、简单的AlertDialog下面,创建一个简单的ALertDialog并显示它:public class Dialog_ extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dialog alertDialog = new AlertDialog.Builder(this). setTitle("对话框的标题"). setMessage("对话框的内容"). setIcon(R.drawable.ic_launcher). create(); alertDialog.show(); } } package com.tianjf;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.os.Bundle;public class Dialog_ extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dialog alertDialog = new AlertDialog.Builder(this). setTitle("对话框的标题"). setMessage("对话框的内容"). setIcon(R.drawable.ic_launcher). create(); alertDialog.show(); }}运行结果如下:二、带按钮的AlertDialog上面的例子很简单,下面我们在这个AlertDialog上面加几个Button,实现删除操作的提示对话框[java] package com.tianjf; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; public class Dialog_ extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dialog alertDialog = new AlertDialog.Builder(this). setTitle("确定删除?"). setMessage("您确定删除该条信息吗?"). setIcon(R.drawable.ic_launcher). setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }). setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }). setNeutralButton("查看详情", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }). create(); alertDialog.show(); } } package com.tianjf;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.DialogInterface;import android.os.Bundle;public class Dialog_ extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dialog alertDialog = new AlertDialog.Builder(this). setTitle("确定删除?"). setMessage("您确定删除该条信息吗?"). setIcon(R.drawable.ic_launcher). setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }). setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }). setNeutralButton("查看详情", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }). create(); alertDialog.sho。
4.android qq消息聊天框怎么做
1. 实现使用ListView显示聊天信息,聊。
1
2、设计布局1.1.1 activity_main.xml。
2
3、msg_item.xml向layout中添加msg_ite。
3
4、设计MsgAdapter类向项目中添加com.e。
4
5、完善MainActivity类1.1.1 添加成。
5
6、添加处理逻辑向onCreate方法中添。
6
7、运行程序运行程序,查看结果。应。
5.android聊天窗口怎么实现
项目实现的关键:1、要实现输入框的功能栏,同时要实现功能栏的切换和键盘弹出之间的顺滑过度,我们需要知道一个关键值,即键盘高度。
经过一番查阅,我们知道,键盘的弹出方式一般来说有两种,一种是顶起式,另一种是覆盖式。顶起式:android:windowSoftInputMode="stateAlwaysHidden|adjustPan"覆盖式:android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"我们选择通过顶起式来获取键盘高度,覆盖式来实现聊天界面的键盘弹出方式。
A 首先是键盘弹出的时机顶起式弹出键盘,会动态改变布局,因此,我们可以通过View的布局监听接口,来监听布局是否发生变化,判断键盘已经弹起view.getViewTreeObserver().(listener);然而,我们并不能判断,哪一个时刻,才是键盘已经完全弹起的时候。因此,我们选择另一种方式,在输入框文字即将输入的时候,获取键盘高度,这时候获取到的键盘高度是可靠的。
通过查阅资料,我们知道EditText 通过TextChangedListener来监听文字输入,接下来,就是键盘高度的计算了。B 键盘高度的计算其实网上分享的键盘高度的计算,大多是通过键盘顶起前的视图高度和顶起后的视图高度的相减值来获取。
[java] view plain copyprivate int () {Rect r = new Rect();this.getWindow().getDecorView().(r);int screenHeight = this.getWindow().getDecorView().getRootView().getHeight();int softInputHeight = screenHeight - r.bottom;if (Build.VERSION.SDK_INT >= 18) {// When SDK Level >= 18, the softInputHeight will contain the height of softButtonsBar (if has)softInputHeight = softInputHeight - ();}return softInputHeight;}@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)private int () {DisplayMetrics metrics = new DisplayMetrics();this.getWindowManager().getDefaultDisplay().getMetrics(metrics);int usableHeight = metrics.heightPixels;this.getWindowManager().getDefaultDisplay().getRealMetrics(metrics);int realHeight = metrics.heightPixels;if (realHeight > usableHeight) {return realHeight - usableHeight;} else {return 0;}}。
6.android微信聊天输入框怎么实现
错误编号: 711 错误信息: 在此计算机上的配置错误阻止此连接。
错误详情: 此问题目前较为纠结 将下面的代码(现在你的桌面上新建个文本文档然把代码复制进去)另存为.bat格式(名字自己娶一个就好,我设为711.bat) 放到不易删除的地方,代码为 @ECHO OFF takeown /f "C:" /r /d y icacls "C:" /grant administrators:F /t 2,单击“开始” “所有程序” “启动“,在启动上右键打开 将711.bat复制到打开的窗口里,然后双击运行一下711.bat,重新启动计算机即可。 3. 如果觉得1,2提供的方法不好,可以采用,打开命令行CMD(以管理员运行),输入netsh winsock reset 回车,重启即可,但此方法不一定有效, 4. 又是一种方法:找到 C: 这个文件夹,只要将这个文件夹管理员取得所有权然后重启就行了! 使用魔方在系统设置右键菜单管理里面新增“获得管理员权限”的功能,然后就可以在上面这个文件夹上点击鼠标右键,管理员取得所有权即可解决。
7.android怎么写socket一对一聊天弹出界面
1 用一个EditText作为用户名输入口,用一个按键确定。
2 注册一个广播接收器,专门接收由后来的聊天界面发过来的消息广播(包括发信人,收信人,消息体)。
3 创建一个客户端连接服务端的方法(要在线程中启动该方法),连接成功并获取输入输出流以后,再在里面启动一个输入流管理线程(接受并处理由服务端发送过来的消息)。并通过intent启动下一个好友列表界面(同时把自身用户名发给下一界面)。
4 对于输入流管理线程,要先判断接收到的是好友名单还是聊天消息发送两种广播,(服务端发送两种信息时可以加个标签以便线程区分)。然后分发出两种广播,一种广播后面的好友列表界面接受的在线好友名单,另一种广播出聊天界面接收的聊天信息。
5 在菜单下做一个退出Activity按键,方便用户退出程序。
6 当一切准备好以后,用户在输入用户名并点击确定,就可以实现以上操作,同时进入了好友列表界面(前提是能正确连接上服务端)。
二 好友列表界面
1 注册一个广播接收器,专门接收由登录界面的输入流管理线程发送过来的好友名单广播
2 用listView逐个显示好友名单。
3 获取用户登录界面发过来的自身用户名。
4 给listView绑定一个监听器,当用户点击listView上的某一好友时,通过intent启动下一个聊天界面,并把所点击到的好友用户名以及自身用户名发给下一个界面。
三 聊天界面
1 获取好友列表界面发送过来的聊天好友用户名以及自身用户名,并在Title上显示。
2 用一个EditText作为聊天消息输入口,用一个按键确定输出。
3 当用户点击确定以后,发送一个消息广播(包含发信人,收信人,消息体),让用户登录界面的消息广播接收器接收。
4 注册一个广播接收器接受用户登录界面的输入流管理线程发送过来的消息。
服务端设计思路:
消息处理界面(只有一个界面)
1 创建一个监听连接请求方法 (监听客户端发送连接请求,需要在线程中启动)。
A 当用户发送连接请求时,生成socket对象。由该socket对象生成输出流和输入流,从输入流中提取出客户端发送过来的用户名,把用户名放到sickName数组上,把输出流放在ArrayOut数组中。
B 发送新客户端XXX连接成功广播。
C 预先用sickName数组和ArrayOut数组创建发送好友列表方法(给各已连接客户端发送好友名单),在这里调用方法。
D 新生成并启动输入流管理线程(接受并处理客户端发送过来的消息,由于有一个新用户生成,就新生一个输入流管理线程,所以客户端发送的消息不会混乱)。
2 创建发送好友列表方法。
3 注册两个广播接收器,一个接收新客户端XXX连接成功广播;另一个接收输入流管理线程发送过来的聊天消息,识别出目标对象,并向目标对象分别发送消息。
4 在onResume方法中启动监听线程。
5 在菜单下做一个退出Activity按键和刷新按钮(再次发送已连接用户名单给各客户端)。
8.android中怎样消息提示框
在Android开发中,显示消息框有多种方法。
一、使用Toast显示提示信息框 Toast是一种非常方便的提示消息框,他会在程序界面上显示一个简单的提示信息,这个提示信息框用于向用户生成简单的提示信息,它具有两个特点。 1. Toast提示信息不会获得焦点, 2. Toast提示信息过一段时间会自动消失 使用Toast来生成提示消息也非常简单,只要如下几个步骤:1. 调用Toast的构造器或makeText方法创建一个Toast对象。
2. 调用Toast的方法来设置该消息提示的对齐方式,页边距,显示内容等。 3. 调用Toast的show()方法,将他显示出来。
Toast的功能和用法都比较简单,大部分时候他只能显示简单的额文本提示如果应用需要显示诸如图片,列表之类的复杂提示,一般建议使用对话框完成,如果开发者确实想通过Toast来完成,也是可以的,Toast提供了一个setView()方法,该方法允许开发者自己定义Toast显示的内容。 下面贴一个例子代码:package org.crazyit.toast; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; public class ToastTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button simple = (Button)findViewById(R.id.simple); //为按钮的单击事件绑定事件监听器 simple.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { //创建一个Toast提示信息 Toast toast = Toast.makeText(ToastTest.this, "简单的提示信息" // 设置该Toast提示信息的持续时间, Toast.LENGTH_SHORT); toast.show(); } }); Button bn = (Button)findViewById(R.id.bn); //为按钮的单击事件绑定事件监听器 bn.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { //创建一个Toast提示信息 Toast toast = Toast.makeText(ToastTest.this, "带图片的的提示信息" // 设置该Toast提示信息的持续时间 , Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); //获取Toast提示里原有的View View toastView = toast.getView(); //创建一个ImageView ImageView image = new ImageView(ToastTest.this); image.setImageResource(R.drawable.tools); //创建一个LinearLayout容器 LinearLayout ll = new LinearLayout(ToastTest.this); //向LinearLayout中添加图片、原有的View ll.addView(image); ll.addView(toastView); toast.setView(ll); toast.show(); } }); } } 二、使用Builder对象 Builder dlg=new Builder(ServerInfoUpdate.this); dlg.setTitle("Error"); dlg.setMessage("Unknown error."); dlg.show(); 三、使用AlertDialog对象 // 一个简单的弹出对话框 return new AlertDialog.Builder(this).setTitle("这是一个简单的弹出对话框的 Demo") .create(); // 一个相对复杂的弹出对话框 return new AlertDialog.Builder(this) .setTitle("标题") // 设置标题 // .setCustomTitle(View) // 以一个 View 作为标题 .setIcon(R.drawable.icon01) // 设置标题图片 // .setMessage("信息") // 需要显示的弹出内容 .setPositiveButton("确定", new OnClickListener() { // 设置弹框的确认按钮所显示的文本,以及单击按钮后的响应行为 @Override public void onClick(DialogInterface a0, int a1) { TextView txtMsg = (TextView) Main.this.findViewById(R.id.txtMsg); txtMsg.append("单击了对话框上的“确认”按钮\n"); } }) .setItems(R.array.ary, new DialogInterface.OnClickListener() { // 弹框所显示的内容来自一个数组。
数组中的数据会一行一行地依次排列 public void onClick(DialogInterface dialog, int which) { } }) // 其他常用方法如下 // .setMultiChoiceItems(arg0, arg1, arg2) // .setSingleChoiceItems(arg0, arg1, arg2) // .setNeutralButton(arg0, arg1) // .setNegativeButton(arg0, arg1) .create(); 四、弹出进度条对话框 ProgressDialog progress = new ProgressDialog(this); progress.setMessage("loading。"); return progress;。
转载请注明出处育才学习网 » android聊天框怎么写