十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在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开发,弹出提示框“Toast”是因为输入了下面这句操作命令:
Toast.makeText(getApplicationContext(),"你的提示内容",Toast.LENGTH_SHORT).show();
Android开发操作如下:
先导入:
import android.widget.Toast;
关键代码:
Toast.makeText(getApplicationContext(),"提示内容",Toast.LENGTH_SHORT).show();
例子:
在一个activity中,只有一个button,单击这个button弹出“单击完成”提示框。
提示:
只需在onCreante方法中添加button的单击事件
完整代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toast1);
//设置button的单击事件
findViewById(R.id.btnToast).setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
//弹出提示框
Toast.makeText(getApplicationContext(),"单击完成",Toast.LENGTH_SHORT).show();
}
});
}
根据android4,0规范与IOS规范,android与IOS主要的不容之处表现在:
android4.0包括三个虚拟按键:返回、home和最近任务,而IOS只有一个物理Home按键,返回按钮一般放置在导航栏左上方。
2.android的主要操作栏在屏幕上方包括:向上+图标+页面名称+主要操作+更多(次要操作),主要操作栏还提供视图切换功能。IOS包括导航栏、工具栏、tab栏,导航栏包括返回+标题+主要操作,工具栏包括一些次要操作,Tab栏承担页面视图切换的功能。
3.android规定tab栏应在屏幕上方,主要操作栏下面,尽量不要放置在屏幕下方,防止与虚拟按键误操作,而IOS的tab栏在屏幕下方。
4.android长按会出现情境操作栏,对内容项进行选择及内容项的主要操作功能,而IOS很少使用长按功能。
5.在手势操作上,android可以向左滑动删除单条内容,或滑动屏幕切换不同视图,而IOS向右滑动删除内容,并且提供摇一摇返回等功能。
6.界面表现形式不同如:文本输入框、弹出框、选择器、操作按钮图标等。
但是,可以看到,为了保持用户体验及的一致性,以及资源的可重复利用,两个在界面布局上应尽量统一,有些app也会打破这些差异性,好多android的app在布局上与IOS相同。
这里报错是代码写法有误,建议一行一行代码的写。
具体实现代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标
2.创建EditText输入框
final EditText edit = new EditText(context);
3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();
}
});
4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();