赞
踩
本博文源于安卓基础对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消息对话框
点进Project—>Empty Activity—>然后名字改下,finish即可。成功之后,点击箭头运行程序。
程序正常可以跑成功hello world字样,下面我们继续
将此图另存为“xx.gif"
拖到drawable,ok后,我们基础图片有了
对主界面进行布局,回想一下,我们有什么。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"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="消息提示Toast" android:textSize="24sp" android:gravity="center_horizontal"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/btn1" android:text="默认方式" android:textSize="20sp"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/btn2" android:text="自定义方式" android:textSize="20sp"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/btn3" android:text="带图标方式" android:textSize="20sp"/> </LinearLayout>
对水平方向width和height进行设置后,其余默认设置不做改动。
文字一定要text出,textSize设置只为更加美观。如果想要真正分离,可以放到string里,然后内部调用。如果有兴趣可以看这篇博文
[Android]小白实现登录界面(附完整源码)
里面有对string做详细案例分析
id设置是为了后面java文件更好调用操控,height与width不多说,text也要设置,字体更美观
想一下,要想实现打印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; @Override public 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(); } } }
就是实践篇初始效果哟!
总体步骤如下
很高兴博文能帮助到大家!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。