`

Toast显示图片

 
阅读更多

转自:http://blog.csdn.net/linghu_java/article/details/7222428

Toast用于向用户显示一些帮助/提示。下面展示了5种效果,来说明Toast的强大

注意:

 

LENGTH_LONG---长时间显示视图或文本提示

LENGTH_SHORT---短时间显示视图或文本提示

setGravity(int gravity,int xOffset,int yOffset)---设置提示应该在屏幕上的显示的位置

setDuration(int duartion)---设置提示显示的持续时间

 

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>

分享到:
评论

相关推荐

    Delphi D10.X安卓APP开发让原生Toast显示图片

    在此基础上,今天我们来实现在Toast中显示图片的方式。 需要增加的内容 先增加一个可以显示图片的调用申明。 procedure Toast(const msg: string; duration: Integer; gravity: Integer; xOffset: Integer; yOffset...

    带图片的Toast,可显示到屏幕任意位置

    针对这一需求,我们可以自定义一个`Toast`,使其能够显示图片并定位在屏幕的任意位置。标题“带图片的Toast,可显示到屏幕任意位置”描述了一个扩展了`Toast`功能的实现,允许开发者在`Toast`中嵌入图片,并且能自由...

    Toast显示问题

    在Android开发中,`Toast` 是一种非常常用的轻量级提示机制,用于向用户显示简短的信息,通常在用户操作后出现并在一段时间后自动消失。`Toast` 不会阻塞用户的交互,它浮现在屏幕上方或者下方,不会影响当前活动的...

    自定义Toast,设置Toast显示位置,自定义Toast的复杂布局

    在Android开发中,Toast是一种轻量级的通知方式,它能够在屏幕中央短暂地显示一行文本信息。然而,系统默认的Toast功能有限,仅提供简单的文本显示和预设的显示位置。当我们需要更复杂的交互或者定制化设计时,就...

    Android 自定义toast显示效果实例.rar

    Android 源码演示5种toast显示效果,一共是以下几种演示:默认的Toast显示、自定义位置的Toast显示、带图片的Toast显示、完全自定义的Toast显示、长时间的Toast显示,Android 自定义5种toast显示效果。有的Toast效果...

    Toast 图片提示框

    1. 主Activity:包含了触发Toast显示的逻辑,可能是通过按钮点击事件触发。 2. 自定义布局资源:如`toast_layout.xml`,用于定义包含图片和文本的提示布局。 3. 代码实现:在Activity或Fragment中加载布局,设置图片...

    Toast自定义视图,设置显示时间的方法

    默认情况下,`Toast`显示一个简单的文本消息,但有时我们需要自定义`Toast`的视图,以满足更复杂的需求,比如添加图片、按钮或其他UI元素。本文将详细介绍如何自定义`Toast`的视图以及设置其显示时间。 首先,让...

    Android Toast 自定义背景、图片 随心使用

    同时,我们还添加了一个`ImageView`用于显示图片,以及一个`TextView`用于显示文本。 接下来,我们需要在代码中加载这个自定义布局,并填充相应的数据: ```java View toastView = LayoutInflater.from(context)....

    带图片的toast

    例如,`setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, 0)`将使Toast显示在屏幕顶部居中。 3. **自定义布局的Toast** 除了添加图片,自定义布局还能实现更复杂的UI设计。通过创建一个包含多个视图(如...

    自定义带图片的 Toast

    要实现自定义`Toast`,我们需要创建一个新的布局文件,例如`custom_toast.xml`,在这个布局文件中添加所需的元素,如TextView用于显示文本,ImageView用于显示图片。以下是一个简单的例子: ```xml android:...

    ios新手开发——toast提示和旋转图片加载框 - iOS知识库1

    iOS新手开发——toast提示和旋转图片加载框 本资源主要介绍了iOS开发中 toast 提示和旋转图片加载框的实现方法。文章首先介绍了 Toast 提示的基础控件的封装,继承自UILabel,添加了屏幕宽高、圆角、时间等属性,并...

    自定义控件带有图片的Toast

    这个布局可以简单地由一个LinearLayout或者RelativeLayout组成,其中包含一个ImageView用于显示图片,一个TextView用于显示文字。例如: ```xml android:layout_width="wrap_content" android:layout_height=...

    使用Toast动态显示信息

    在这个例子中,我们创建了一个包含图片和文字的`Toast`,并设置了自定义的显示时长。 总结来说,`Toast`是Android开发中的一个重要工具,用于向用户提供即时反馈。你可以通过`Toast.makeText()`创建`Toast`,并使用...

    支持Toast中显示Progressbar,显示图片,显示文等等效果

    支持Toast中显示Progressbar,显示图片,显示文等等效果,快去感受下吧支持Toast中显示Progressbar,显示图片,显示文等等效果,快去感受下吧支持Toast中显示Progressbar,显示图片,显示文等等效果,快去感受下吧

    带图片的Toast消息提示&单选列表项对话框&自定义View对话框

    在Android中,Toast通常用于显示短暂的信息,而默认的Toast只支持文本显示。要添加图片,我们需要创建一个自定义的View,包含ImageView和TextView。通过LayoutInflater将XML布局文件转换为View对象,然后在创建Toast...

    带图片的Toast

    在这个布局中,我们有一个ImageView用于显示图片,一个TextView用于显示文本。在`showCustomToast`方法中,我们将图片资源ID设置到ImageView,文本设置到TextView,然后创建一个新的Toast对象,并设置它的视图为我们...

    自定义Toast,防止层叠显示问题,和自定义Toast样式

    当然,自定义Toast的样式可以非常复杂,包括添加图片、动画等元素,根据项目需求进行设计。在实际应用中,我们还可以考虑将自定义Toast封装成一个工具类,方便在多个地方复用。 总结一下,自定义Toast不仅可以解决...

    toast五种效果

    例如,将Toast显示在屏幕的中间。 ```java Toast toast = Toast.makeText(context, "这是位置可控的Toast", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); ``` 5. **动画效果...

Global site tag (gtag.js) - Google Analytics