Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。
1.默认效果
代码
Toast.makeText(getApplicationContext(), "默认Toast样式",
Toast.LENGTH_SHORT).show();
2.自定义显示位置效果
代码
toast = Toast.makeText(getApplicationContext(),
"自定义位置Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
3.带图片效果
代码
toast = Toast.makeText(getApplicationContext(),
"带图片的Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout toastView = (LinearLayout) toast.getView();
ImageView imageCodeProject = new ImageView(getApplicationContext());
imageCodeProject.setImageResource(R.drawable.icon);
toastView.addView(imageCodeProject, 0);
toast.show();
4.完全自定义效果
代码
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom,
(ViewGroup) findViewById(R.id.llToast));
ImageView image = (ImageView) layout
.findViewById(R.id.tvImageToast);
image.setImageResource(R.drawable.icon);
TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
title.setText("Attention");
TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
text.setText("完全自定义Toast");
toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
5.其他线程
代码
new Thread(new Runnable() {
public void run() {
showToast();
}
}).start();
完整代码
1.Main,java
package com.wjq.toast;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class Main extends Activity implements OnClickListener {
Handler handler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.btnSimpleToast).setOnClickListener(this);
findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(
this);
findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this);
findViewById(R.id.btnCustomToast).setOnClickListener(this);
findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this);
}
public void showToast() {
handler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "我来自其他线程!",
Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onClick(View v) {
Toast toast = null;
switch (v.getId()) {
case R.id.btnSimpleToast:
Toast.makeText(getApplicationContext(), "默认Toast样式",
Toast.LENGTH_SHORT).show();
break;
case R.id.btnSimpleToastWithCustomPosition:
toast = Toast.makeText(getApplicationContext(),
"自定义位置Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
break;
case R.id.btnSimpleToastWithImage:
toast = Toast.makeText(getApplicationContext(),
"带图片的Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout toastView = (LinearLayout) toast.getView();
ImageView imageCodeProject = new ImageView(getApplicationContext());
imageCodeProject.setImageResource(R.drawable.icon);
toastView.addView(imageCodeProject, 0);
toast.show();
break;
case R.id.btnCustomToast:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom,
(ViewGroup) findViewById(R.id.llToast));
ImageView image = (ImageView) layout
.findViewById(R.id.tvImageToast);
image.setImageResource(R.drawable.icon);
TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
title.setText("Attention");
TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
text.setText("完全自定义Toast");
toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
break;
case R.id.btnRunToastFromOtherThread:
new Thread(new Runnable() {
public void run() {
showToast();
}
}).start();
break;
}
}
}
2.main,xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="5dip" android:gravity="center">
<Button android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/btnSimpleToast"
android:text="默认"></Button>
<Button android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="自定义显示位置"
android:id="@+id/btnSimpleToastWithCustomPosition"></Button>
<Button android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/btnSimpleToastWithImage"
android:text="带图片"></Button>
<Button android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="完全自定义"
android:id="@+id/btnCustomToast"></Button>
<Button android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="其他线程"
android:id="@+id/btnRunToastFromOtherThread"></Button>
</LinearLayout>
3.custom.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="#ffffffff" android:orientation="vertical"
android:id="@+id/llToast" >
<TextView
android:layout_height="wrap_content"
android:layout_margin="1dip"
android:textColor="#ffffffff"
android:layout_width="fill_parent"
android:gravity="center"
android:background="#bb000000"
android:id="@+id/tvTitleToast" />
<LinearLayout
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/llToastContent"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:layout_marginBottom="1dip"
android:layout_width="wrap_content"
android:padding="15dip"
android:background="#44000000" >
<ImageView
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:id="@+id/tvImageToast" />
<TextView
android:layout_height="wrap_content"
android:paddingRight="10dip"
android:paddingLeft="10dip"
android:layout_width="wrap_content"
android:gravity="center"
android:textColor="#ff000000"
android:id="@+id/tvTextToast" />
</LinearLayout>
</LinearLayout>
分享到:
相关推荐
Android Toast 大全 (五种形式) 建立属于自己的 Toast
1. **模型建立**:创建生物组织的几何模型,包括不同区域的光学属性。 2. **网格划分**:将模型划分为多个有限元,为FEM求解做准备。 3. **光线模拟**:运用FEM计算每个有限元对近红外光的散射和吸收贡献。 4. **...
摘要:Java源码,Android,Toast,Android源码 Android Toast用法代码实例,建立属于你自己的Toast. Toast在Android系统中用于向用户显示一些帮助/提示,本源码是一个较基本的Toast用法实例,还望通过本例能加深您对...
这使得开发者可以测试他们的设备如何处理呼叫建立、释放、切换和其他网络操作。 4. **测试用例**:TOAST提供了丰富的预定义测试用例,涵盖了从基本通话到复杂的网络行为,如漫游、功率控制和多用户干扰情况。这些...
Android-CustomToast 看这个视频 是一个功能强大且易于使用的Android自定义Toast库。 它在及更高版本上运行。 该库提供了一些预定义的自定义吐司。 您也可以根据需要将烤面包 :high_voltage: 单行代码...建立 Grad
Python代码中,你需要定义一个处理客户端连接的回调函数,用来接收和发送数据。 3. **发送和接收消息**:在Android服务中,我们可以使用Socket的getOutputStream()和getInputStream()方法获取输入流和输出流,分别...
这样,我们就建立了对UI组件的引用,为后续的交互做好准备。 `clickGroup`方法是关键。当用户点击按钮时,这个方法会被调用。首先,我们创建了一个`Random`对象`r`用于生成随机数,接着用`nextInt(groupInfo.length...
**TOAST:信任组织代理系统测试平台** TOAST,全称Trust Organization Agent System Testbed,是一个专注于信任模型评估和比较的开源仿真框架。这个平台专为嵌入在组织系统中的代理设计,旨在帮助开发者和研究人员...
为什么不建立频道并使用Android的原生吐司呢? 这实际上是一个好主意。 创建频道没有错,尤其是在该小部件旨在模拟仅在Android设备上发现的功能时。 但是,我想创建一些与本机层的连接受限的东西, .dart dex方法...
此外,你还可以在复选框之间建立关联,实现多选功能,或者将复选框的状态保存到 SharedPreferences 中,以便在下次打开应用时恢复。 在“NewApp004”项目中,可能包含了完成上述步骤的所有必要文件和代码,包括...
"toast_docs:https"这个标题可能是指一个关于HTTPS的教程或文档集合,旨在帮助用户理解并正确使用HTTPS...通过深入学习"toast_docs"文档,可以提升对网络安全的理解,更好地保护用户数据,同时提高网站的可信度和性能。
在本实验报告中,青岛理工大学的学生们通过一系列步骤学习了如何使用Android Studio建立并运行他们的第一个应用程序——MyFirstApp。这个实验旨在让学生熟悉Android应用程序的构建过程和Android Studio的基本操作。 ...
建立一个空文件夹, 然后直接终端运行 npm init 建立完之后会生成一个 package.json 文件,内容如下 注意:name是之后要发的npm包的名字 不要重名,建议去npm先搜一下有没有在取 接下来对 package.json 文件添加所...
建立网站布局 在网站上构建组件 好处 明晰 易于重用 帮助整个团队轻松合作 模块化,不必担心一个类CSS会影响另一个类CSS 缺点 长类名 有人认为这很糟糕 什么时候采用BEM正确? 计划许多成员 界面上有许多页面或...
使用Redux,Redux-Saga,React Native Redux Toast,Immer,react-native-side-menu,React Native Async Storage,react-native-iphone-x-helper和React Native Vector Icons消耗 API资源的应用程序 。 指数 建立...
Android Studio Menu选择菜单的建立方法 在 Android Studio 中,Menu 选择菜单的建立是一个非常重要的步骤,因为它能够帮助开发者管理各种选项,提高用户体验。下面,我们将详细介绍 Menu 选择菜单的建立方法。 一...
在Android开发领域,初学者通常会遇到很多挑战,但一旦掌握了基本概念,就能逐步建立起自己的应用。"Android开发教程"这个主题涵盖了从安装Android开发环境到编写第一行代码的整个过程,是为那些想要踏入安卓编程...
如果你只需要一个简单的版本: @Event(value = R.id.btn_test_baidu2) private void onTestBaidu2Click(View view) { RequestParams params = new RequestParams("https://www.baidu.com/s"); params....
建立运行ng build来构建项目。 构建工件将存储在dist/目录中。 使用--prod标志进行生产构建。运行单元测试运行ng test通过执行单元测试。运行端到端测试运行ng e2e以通过执行端到端测试。进一步的帮助要获得有关...
Toast.makeText(MainActivity.this, "按钮被点击了", Toast.LENGTH_SHORT).show(); } }); ``` 使用代码创建Button的好处包括: - **灵活性**:可以在运行时动态创建和修改Button,适应不同的条件和需求。 - **...