Android基础教程之简单的Button事件响应综合提示控件Toast的应用
来源:互联网 发布:电脑点歌软件下载 编辑:程序博客网 时间:2024/05/21 14:09
大家好,Button按钮所触发的事件处理,我们称之为Event Handle,只不过在Android当中,按钮事件是由系统的Button.OnClickListener所控制,熟悉Java程序设计的读者对OnXxxListener应该不陌生.以下的Demo,我们将实现当点击Button时,TextView文字将发生改变,并在屏幕上出现一段时间的不同样式Toast提醒.一、Toast作用1.Toast是一种提供给用户简洁提示信息的视图。2.该视图以浮于应用程序之上的形式呈现给用户。Toast提示界面不获取脚垫,所以不影响用户的操作。Toast提示就是在不影响用户使用呈现的同时,给用户提供某些提示信息。有两个例子就是音量控制和设置信息保存成功。3.Android提供的Toast类可以创建和显示该Toast信息。二、Toast常用方法Toast.makeText(context, text, duration);//返回值为ToastToast.setDuration(duration);//设置持续时间Toast.setGravity(gravity, xOffset, yOffset);//设置toast位置 xOffset设置正值则向右偏移,设置负值则向左偏移 yOffset设置正值则向下偏移,设置负值则向上偏移Toast.setText(s);//设置提示内容Toast.show();//显示Toast.getView()获取当前Toast的布局
关于Toast的小知识点就介绍到这里,接下来我会演示四种Toast表现样式,分别为普通的Toast,位置变化的Toast,带图片的Toast,自定的简单做法Toast。
先上效果图
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.jp.logdemo.MainActivity" tools:ignore="MergeRootFrame" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/toast_common" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/shapemore" android:text="普通Toast" android:textSize="15sp" /> <Button android:id="@+id/toast_seat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/shapemore" android:text="位置偏移Toast" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/toast_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/shapemore" android:text="带图片的Toast" android:textSize="15sp" /> <Button android:id="@+id/toast_div" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/shapemore" android:text="自定义的Toast" android:textSize="15sp" /> </LinearLayout></LinearLayout>
首先我们要获取布局文件中的id
// 分别普通Toast,位置偏移Toast,带图片的Toast,自定义的Toast Button toast_common, toast_seat, toast_image, toast_div;// 获取控件id private void initView() { // Toast toast_common = (Button) findViewById(R.id.toast_common); toast_seat = (Button) findViewById(R.id.toast_seat); toast_image = (Button) findViewById(R.id.toast_image); toast_div = (Button) findViewById(R.id.toast_div);}
设置点击事件:
// 创建点击事件 private void initEvent() { // Toast点击事件 toast_common.setOnClickListener(this); toast_seat.setOnClickListener(this); toast_image.setOnClickListener(this); toast_div.setOnClickListener(this);}
public void onClick(View v) { switch (v.getId()) { case R.id.toast_common: //普通的Toast sendCommonToast(); break; case R.id.toast_seat: //位置变化的Toast sendSeatToast(); break; case R.id.toast_image: //带图片的Toast sendImageToast(); break; case R.id.toast_div: //自定义的Toast sendDivToast(); break;}
做法如下:
/*** 一个普通的Toast* */ private void sendCommonToast() { Toast.makeText(this, "这是一个普通的Toast", Toast.LENGTH_LONG).show(); }
位置有变化的Toast
做法:
/** * 位置偏移的Toast */ private void sendSeatToast() { Toast toast = Toast.makeText(this, "这是一个改变位置的Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 100, 50); //设置toast位置 //xOffset设置正值则向右偏移,设置负值则向左偏移 //yOffset设置正值则向下偏移,设置负值则向上偏移 toast.show(); }
带图片的Toast
/** * 带图片的Toast */ private void sendImageToast() { Toast toast = Toast.makeText(this, "这是一个带图片的Toast", Toast.LENGTH_LONG); // 获取一个可以添加图片的布局文件,获取当前Toast布局 LinearLayout layout_toast = (LinearLayout) toast.getView(); ImageView imageView = new ImageView(this); imageView.setBackgroundResource(R.drawable.ic_launcher); layout_toast.addView(imageView, 0); toast.show(); }
自定义Toast:
/** * 自定义Toast */private void sendDivToast() { // LayoutInflater作用是将layout的xml布局文件实例化为View类对象。 LayoutInflater inflater = LayoutInflater.from(this); View view = inflater.inflate(R.layout.divtoast_main, null); Toast toast = new Toast(this); toast.setView(view); toast.show(); }
因为我也是个初学者,希望能帮到其他初学者~~我会持续更新的,可以相互关注的
0 0
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础教程之简单的Button事件响应综合提示控件Toast的应用
- Android基础教程之Button事件触发AlertDialog简单小窗口的应用
- Android学习笔记之Button,Toast,menu的简单用法
- Android基础教程(六)之----多选项CheckBox的综合应用
- Android基础教程(六)之----多选项CheckBox的综合应用
- Android基础教程(六)之----多选项CheckBox的综合应用
- Button和Button事件的简单应用
- Android控件之Button点击事件监听器的绑定
- 【Android成长之路】Toast的简单应用
- Android GridView 的item 使用 Button,imagebutton 等ui控件后,不能响应OnItemClick()事件
- 关于Android中ExpandableListView子项是Button控件而单击事件没有响应的问题
- JS中button控件click事件无法响应的问题
- Android基础教程(七)之----单选项框RadioGroup的综合应用
- LeetCode——Remove Duplicates from Sorted List
- 纯 CSS 实现高度与宽度成比例的效果
- LightOJ 1214(大数相除)
- 国内app快速生成平台对比
- OpenCv下载地址
- Android基础教程之简单的Button事件响应综合提示控件Toast的应用
- 游戏开发,何去何从
- UVA 11827 Maximum GCD
- LiteDB实践使用
- 23种设计模式之原型模式(一)
- 【转载】SPFA
- c++关于结尾遇到‘\n’或其他特殊字符结束读取的问题(个人总结,大神勿喷)
- hadoop启动后jps没有namenode
- 努力了一天