Android|Toast理论篇(附自制图标信息框实现)
本博文源于安卓基础对Toast类做简单的实例测试,先将理论后操作实践。大家可以先看实践,实践好玩的话,跟着敲,遇到不懂的,可以再看理论,如果实践已经敲完回顾理论才能更加深理论知识的基础。
理论篇
在安卓系统中,可以用消息提示类(Toast)来显示帮助或提示消息,该提示消息以浮于应用程序之上的形式显示在屏幕上。因为它并不获得焦点,所以不会影响用户的其他操作,使用信息提示类(Toast)的目的是尽可能不中断用户操作,让用户看到提示信息。
Toast类的常用属性和对应方法
方法 | 说明 |
---|---|
Toast(Context context) | 构造方法 |
makeText(Context context,CharSequence text,int duration) | 以特定时长显示文本内容,参数为text为显示的文本,参数duration为显示的时间 |
getView() | 获取视图 |
setDuration(int duration) | 设置提示信息的存续时间 |
setView(View view) | 设置要显示的视图 |
setGravity(int gravity,int xOffset,int yOffset) | 设置提示信息在屏幕上的位置 |
setText(int resId) | 更新makeText()方法所设置的文本内容 |
show() | 输出提示信息 |
LENGTH_LONG | 提示信息显示较长时间的常量 |
LENGTH_SHORT | 提示信息显示较短时间的常量 |
实践篇
下面对Toast做简单的测试,并给出详细的分析
测试效果
先看下测试效果,本案例将实现按默认方式、自定义方式和带图标方式显示Toast信息提示的效果。
大家可以看到一个TextView类,三个按钮Button类,然后点击相应的按钮直接可以实现弹出Toast消息对话框
实现步骤
创建新项目 My sevenApplication
点进Project—>Empty Activity—>然后名字改下,finish即可。成功之后,点击箭头运行程序。
程序正常可以跑成功hello world字样,下面我们继续
上传资源drawable
将此图另存为“xx.gif"
拖到drawable,ok后,我们基础图片有了
布局activity_main.xml
对主界面进行布局,回想一下,我们有什么。TextView类一个,按钮Button三个。根元素采用线性布局,代码下方对细节进行详解
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="消息提示Toast"android:textSize="24sp"android:gravity="center_horizontal"/><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/btn1"android:text="默认方式"android:textSize="20sp"/><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/btn2"android:text="自定义方式"android:textSize="20sp"/><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/btn3"android:text="带图标方式"android:textSize="20sp"/>
</LinearLayout>
LinearLayout详解
对水平方向width和height进行设置后,其余默认设置不做改动。
TextView详解
文字一定要text出,textSize设置只为更加美观。如果想要真正分离,可以放到string里,然后内部调用。如果有兴趣可以看这篇博文
[Android]小白实现登录界面(附完整源码)
里面有对string做详细案例分析
Button详解
id设置是为了后面java文件更好调用操控,height与width不多说,text也要设置,字体更美观
MainActivity.java文件配置
想一下,要想实现打印Toast是不是一定要用到Toast类的。然后要用到java的重载,一个函数实现三个按钮的功能,安卓代码都是先激活控件,再重写类。具体代码如下
package com.example.mysevenapplication;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;public class MainActivity extends Activity implements View.OnClickListener {Button btn1,btn2,btn3;Toast toast;LinearLayout toastView;ImageView imageCodeProject;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1 = (Button)findViewById(R.id.btn1);btn2 = (Button)findViewById(R.id.btn2);btn3 = (Button)findViewById(R.id.btn3);btn1.setOnClickListener(this);btn2.setOnClickListener(this);btn3.setOnClickListener(this);}public void onClick(View v){if(v==btn1) {Toast.makeText(getApplicationContext(), "默认Toast方式", Toast.LENGTH_SHORT).show();}else if(v==btn2) {toast = Toast.makeText(getApplicationContext(),"自定义Toast的位置",Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();}else if(v==btn3) {toast = Toast.makeText(getApplicationContext(),"带图标的Toast",Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,80);toastView = (LinearLayout) toast.getView();imageCodeProject = new ImageView(this);imageCodeProject.setImageResource(R.drawable.xx);toastView.addView(imageCodeProject,0);toast.show();}}
}
点击运行
效果回放
就是实践篇初始效果哟!
总结
总体步骤如下
- 创建新项目,跑成功hello world
- 上传图片资源drawable
- 对activity_main.xml进行布局
- 配置MainActivity.java代码
- 点击运行,收获喜悦。
很高兴博文能帮助到大家!
Android|Toast理论篇(附自制图标信息框实现)相关推荐
- 火山应用系列之炫彩模块自制【信息框】
模块支持库 1.炫彩界面支持库 一.我们制作一个信息框 效果图 1.首先打开炫彩IDE---->文件--->新建项目---->界面设计美化-无代码文件-->输入项目名称---& ...
- yocto系列讲解[理论篇]68 -Yocto版本信息查询稳定版本和EOL版本
By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! ...
- 百度地图android弹出窗口,【代码】Android百度地图点击弹出信息框
分享给大家一篇技术文章,还有很多不足之处,欢迎吐槽!期待各位android爱好者,加入android交流群:278744577,加群请验证:qy88,共同探讨! 如图: 我是在百度的demo上改的主要 ...
- 再发布一个windows live writer 插件 图标信息框 wlw plugin icon info frame
原地址: http://www.zu14.cn/2008/12/14/wlw_plugin_icontip/ 自上次发布 windows live writer 插件 coolemotion 之后,已 ...
- Android NFC开发-理论篇
Android NFC开发-理论篇 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/CSDN_GYG/article/details/72884849 ...
- Android 号码, 来电归属地 Jni 使用C++对二进制文件查询(一) 理论篇
1.效果图 左边的是应用程序界面,只是做个测试.右边的是应用程序信息,你会发现数据这块很小,只有420KB,要知道里面有近280,000记录. 2.尝试使用sqlite数据库, 用db格式文件. 随便 ...
- 第37篇 Android Studio实现点击图片显示信息(四)布局及资源文件
第37篇 Android Studio实现点击图片显示信息(四)布局及资源文件 4.布局文件 4.1.strings.xml 4.布局文件 整体是一个垂直布局,然后在设置一些水平布局就行了. < ...
- 第34篇 Android Studio实现点击图片显示信息(一)需求
第34篇 Android Studio实现点击图片显示信息(一)需求 1.需求 1.1.效果 1.2.功能 1.3.RadioButton实现 1.4.设置RadioButton样式 1.需求 1.1 ...
- Android期末复习篇_8章节练习题附答案
说明 Android移动应用开发章节练习题,注意 此答案并非标准答案,仅供期末复习参考. 加粗题目为强调题目 目录 第一章-安卓基础入门 第二章-安卓常见页面布局 第三章-安卓常见页面控件 第四章-安 ...
最新文章
- 判断浏览器类型及版本
- dell塔式服务器显示卡端口类型,戴尔T610塔式服务器
- quartz 表结构 oracle,Quartz所使用的表的说明
- Java学习指南(15) 链表
- An unexpected error prevented the server from fulfill your request.(HTTP500)
- java对word文档的操作
- 从东京奥运会看js设计模式之发布订阅模式
- 物种内共线性分析——JCVI安装以及数据下载(一)
- oracle EBS 基于Host并发程序的开发(转)
- 出国留学考试指导大全:托福85分是个坎儿
- 诺基亚n8和n9java_诺基亚官方发布 N8与N9的十大区别
- anaconda下载python的库_Anaconda下载及安装及查看安装的Python库用法
- PS AD命令之Add-ADGroupMember
- mySQL下载后的初次使用
- 过了MySQL 8 OCP(1Z0-908),交一下作业
- Vue中created()与activated()区别
- Loup Verlet计算统计力学的创始人
- 【指针】*p++、(*p)++、*++p、++(*p)都是什么东西?
- 华三NS228交换机虚拟局域网划分方法
- iPhone4S和iPad2的iOS5.0.1完美越狱