Android常用控件之Toast与AlertDialog的常规用法和自定义用法

概述

1、Toast: a、用来显示信息 ;b、没有焦点,显示时间有限;c、不会打断用户当前的操作 常用方法: show():用于显示信息。 setGravity(): #param:int gravity,int xOffset,int yOffset;用于设置信息的显示的位置。 setText():用于显示信息的文本,可以传入Spanner类的内容。 setView():用于设置信息的布局。 Dialog: 常用的又AlertDialog,继承于Dialog。

知识内容Toast

Toast有常规用法和自定义用法,所谓自定义用法,,就是用setView()方法给Toast的信息提示提供一个自定义布局,达到特殊的目的。 java部分用两个按键的分别测试Toast的富文本用法和自定义用法

.OnClickListener {private Button toastButton;private Button toastButton2;(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);toastButton = (Button) findViewById(R.id.toast_btn);toastButton.setOnClickListener(this);toastButton2 = (Button) findViewById(R.id.toast_btn2);toastButton2.setOnClickListener(this);}(View v) {switch (v.getId()) {case R.id.toast_btn://Toast的setText可以传入一个富文本Toast toast;toast = Toast.makeText(getApplicationContext(), “我是你Toast爸爸”, Toast.LENGTH_SHORT);Spanned spanned = Html.fromHtml(“我是<font color=’#55ff0000′>toast</font><img src=”>”, new Html.ImageGetter() {@Overridepublic Drawable getDrawable(String source) {Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());return null;}}, null);toast.setText(spanned);toast.setGravity(Gravity.LEFT | Gravity.BOTTOM, 0, 0);toast.show();case R.id.toast_btn2://自定义Toast即是给Toast设置一个自定义布局以显示信息Toast toast2 = new Toast(getApplicationContext());LayoutInflater inflater = getLayoutInflater();View view = inflater.inflate(R.layout.toast_view, null);TextView textView_content = (TextView) view.findViewById(R.id.content_text);textView_content.setText(“我是内容”);toast2.setView(view);toast2.setDuration(Toast.LENGTH_LONG);toast2.show();break;default:break;}}}

布局文件activity_main

====”@dimen/activity_vertical_margin”tools:context=”.MainActivity”><Button=”wrap_content”android:text=”测试Toast”/><Button==”测试自定义Toast”/></RelativeLayout>

Toast用于显示信息的自定义布局toast_view

===”vertical”><TextView=”wrap_content”android:text=”我是标题”/><ImageView=”100dp”android:src=”@drawable/abc_btn_rating_star_off_mtrl_alpha”/><TextView=>

结果演示:

AlertDialog

AlertDialog可以有多种形式:带有信息的简单对话框、可选择的对话框、单选对话框、多选对话框等 java部分,用四哥按钮来测试四种对话框

.OnClickListener {private Button dialogButton;private Button dialogButton2;private Button dialogButton3;private Button dialogButton4;private String[] mSexs = {“男”,”女”,”其他”};private String[] mData = {“第一个数据”,”第二个数据”,”第三个数据”,”第四个数据”,”第五个数据”};private String[] mHobbys = {“篮球”,”乒乓球”,”游泳”,”跑步”,”健身”};StringBuffer hobby;private String sex;(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout_dialog);dialogButton = (Button)findViewById(R.id.button_dialog);dialogButton.setOnClickListener(this);dialogButton2 = (Button)findViewById(R.id.button2_dialog);dialogButton2.setOnClickListener(this);dialogButton3 = (Button)findViewById(R.id.button3_dialog);dialogButton3.setOnClickListener(this);dialogButton4 = (Button)findViewById(R.id.button4_dialog);dialogButton4.setOnClickListener(this);}(View v) {switch (v.getId()){case R.id.button_dialog:simpleDialog();break;case R.id.button2_dialog:selectedDialog();break;case R.id.button3_dialog:singleDialog();break;case R.id.button4_dialog:mutiSelectedDialog();default:break;}}(){AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);builder.setIcon(R.mipmap.ic_launcher).setTitle(“我是标题”).setMessage(“我是内容”).setNegativeButton(“NegativeButton”, new OnClickListener() {(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), “选中NegativeButton”, Toast.LENGTH_SHORT).show();}}).setNeutralButton(“NeutralButton”, new OnClickListener() {(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), “选中NeutralButton”, Toast.LENGTH_SHORT).show();}}).setPositiveButton(“PositiveButton”, new OnClickListener() {(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), “选中PositiveButton”, Toast.LENGTH_SHORT).show();}});AlertDialog dialog = builder.create();dialog.show();}(){AlertDialog.Builder builder2 = new AlertDialog.Builder(DialogActivity.this);builder2.setTitle(“多选型Dialog”);builder2.setItems(mData, new OnClickListener() {(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), “选中了第” + which + “个”, Toast.LENGTH_SHORT).show();}});AlertDialog dialog1 = builder2.create();dialog1.show();}(){sex = mSexs[0];AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);builder.setTitle(“单选Dialog”);builder.setSingleChoiceItems(mSexs, 0, new OnClickListener() {(DialogInterface dialog, int which) {sex = mSexs[which];Toast.makeText(getApplicationContext(), “选中的性别是” + sex, Toast.LENGTH_SHORT).show();}});builder.setNeutralButton(“确定”, new OnClickListener() {(DialogInterface dialog, int which) {dialogButton3.setText(“您选中的性别是” + sex);}});builder.setNegativeButton(“取消”, new OnClickListener() {(DialogInterface dialog, int which) {}});builder.show();//builder.show()也可以直接显示对话框}(){mCheckedManager = new boolean[mHobbys.length];AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);builder.setTitle(“[title]请选中您爱好的运动”);builder.setMultiChoiceItems(mHobbys, mCheckedManager, new DialogInterface.OnMultiChoiceClickListener() {(DialogInterface dialog, int which, boolean isChecked) {mCheckedManager[which] = isChecked;}});builder.setNeutralButton(“确定”, new OnClickListener() {(DialogInterface dialog, int which) {hobby = new StringBuffer();for (int i = 0; i < mHobbys.length; i++) {if (mCheckedManager[i]) {hobby.append(mHobbys[i]);}}dialogButton4.setText(“您的爱好是:”+hobby);}});builder.show();}}初初尝试着拥抱的人,一派新鲜幸福都来不及沉浸,

Android常用控件之Toast与AlertDialog的常规用法和自定义用法

相关文章:

你感兴趣的文章:

标签云: