Android:Toast 弹出信息框

toast的主要方法:

cancel 方法:关闭Toast视图

getDuration 方法:获取持续时间

getGravity 方法:获取Toast视图的位置

makeText 方法:生成标准Toast

setView 方法:设置显示的View物件

getView 方法:获取View对象

setGravity 方法:设置显示位置

getXOffset 方法:获取水平方向偏移量

getYOffset 方法:获取垂直方向偏移量

setDuration 方法:设置持续时间

setText 方法:设置显示的文本內容

show 方法:显示提示

主要完成3中形式的Toast:

1、标准形式

2、设置位置形式

3、带图片的Toast

MainActivity .java

import java.io.InputStream;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

@SuppressLint("ShowToast")
public class MainActivity extends Activity {
    Toast   toast;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        toast=Toast.makeText(getApplicationContext(), "", 0);;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void Button1(View v){
        toast.cancel();
        toast=Toast.makeText(getApplicationContext(), "系统默认的样式", 1);

        toast.show();
    }  

    public void Button2(View v){
        toast.cancel();
        toast=Toast.makeText(getApplicationContext(), "设置Toast显示的位置", 1);
        toast.setGravity(Gravity.CENTER, 0, 0);

        toast.show();
        }
    public void Button3(View v){
        toast.cancel();
        toast=Toast.makeText(getApplicationContext(), "设置Toast显示图片和位置", 1);
        toast.setGravity(Gravity.CENTER, 0, 0);
        LinearLayout LinearToast = (LinearLayout) toast.getView();
        LinearToast.setOrientation(LinearLayout.HORIZONTAL);
        ImageView image = new ImageView(getApplicationContext());
        //为了美观,将图片缩小为原来的一半
        InputStream is =this.getResources().openRawResource(R.drawable.ic_launcher);
        BitmapFactory.Options options=new BitmapFactory.Options();
        options.inJustDecodeBounds = false;
        options.inSampleSize = 2;   //width,hight设为原来的二分一
        Bitmap btp =BitmapFactory.decodeStream(is,null,options);
        image.setImageBitmap(btp);
        LinearToast.addView(image,0);
        toast.show();
    }

}

这部分主要是缩小图片,让图片与Toast显示的大小一致,更加美观

   //为了美观,将图片缩小为原来的一半
        InputStream is =this.getResources().openRawResource(R.drawable.ic_launcher);
        BitmapFactory.Options options=new BitmapFactory.Options();
        options.inJustDecodeBounds = false;
        options.inSampleSize = 2;   //width,hight设为原来的二分一
        Bitmap btp =BitmapFactory.decodeStream(is,null,options);
        image.setImageBitmap(btp);

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button 

       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="@string/button1"
       android:onClick="Button1"
        />
     <Button 

       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="@string/button2"
       android:onClick="Button2"
        />
      <Button 

       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="@string/button3"
       android:onClick="Button3"
        />

</LinearLayout>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 04:52:33

Android:Toast 弹出信息框的相关文章

Android的弹出登陆框的实现

最近在做一个项目,要用到登陆框,几经波折,最后用的是直接将Activity的Theme属性设置成Dialog,然后达到了我想要的效果. 下面是我的实现经历: 1.首先,我是直接使用AlertDialog来实现,确定是,形状有点难看,而且获得Dialog里面的控件略显麻烦(因为我要做的登陆框有一定的布局),然后就给我就放弃了,可能因为我太水了,不能很好的使用它 2.然后我就使用PopupWindow来实现,界面是达到了我的要求,控件的获得通过Inflater就可以获得了相对较简单,但是有一个缺点就

layer弹出信息框API

首先向大家推荐layer,在这里也非常感谢贤心的贡献,非常不错的信息框及弹出层解决方案,为一些项目的前端开发提高了很大的效率,希望layer 越办越好! 下面是API,呵呵,官方抄袭过来的,为了自己看着方便. layer API之键值(仅在需要时配置,未配置的会用默认) 键 : 值 描述 skin : 0 层的皮肤编号,值为整数型.目前默认只提供一种皮肤,当你按照样式规则新增皮肤时(详见skin/layer.css),你可配置该参数. type : 0, 层的类型.0:信息框(默认),1:页面层

Android 底部弹出提示框的解决办法(使用Activity以及PopupWindow)

本片文章主要谈探讨了如何实现在底部弹出提示框背景为半透明效果的实现.想要实现此种效果一般有两种方式一个是使用Activity设置Theme另一种方式就是使用PopupWindow设置样式实现效果. 一,使用Activity 首先是此activity的布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.andro

android 透明弹出搜索框

1.在QQ一些APP当中有是弹出一个半透明的搜索框的,其实这种效果就是很多种方法,自定义一个Dialog,或者直接将activity的背景变成半透明的也可以的. 下面就是将activity变成半透明的方法.效果图如下: 2.代码如下: 在styles.xml文件中添加自定义Theme 1 <style name="MyTranspaent"> 2 3 <item name="android:windowBackground">@color/t

delphi弹出信息框大全

1. 警告信息框 MessageBox(Handle,'警告信息框','警告信息框',MB_ICONWARNING); 2.疑问信息框 MessageBox(Handle,'疑问信息框','疑问信息框',MB_ICONQUESTION); 3.错误提示框 MessageBox(Handle,'错误信息框','错误信息框',MB_ICONERROR); 4.提示信息框 MessageBox(Handle,'提示信息框','提示信息框',MB_ICONASTERISK); 5.说明信息框 Messa

C#中三种弹出信息窗口的方式

弹出信息框,是浏览器客户端的事件.服务器没有弹出信息框的功能. 方法一: asp.net页面如果需要弹出信息框,则需要在前台页面上注册一个javascript脚本,使用alert方法.使用ClientScript.RegisterStartupScript( )方法注册脚本. ClientScript.RegisterStartupScript( ) RegisterStartupScript(type,key,script) type:脚本事件的类型,一般用this.GetType()获取 k

Android底部弹出iOS7风格对话选项框

<Android底部弹出iOS7风格对话选项框> 效果图如下: 网上流传的Android底部弹出iOS7风格的对话选项框开源代码,原作者不详.我在网上流传的代码基础上改进了一些地方,把原来作为Application发布的代码整理成一个Android的Library,如果在未来的Android项目中需要这样的对话选项框样式,则只需要下载我上次到CSDN的完整库项目(完整的Android库项目代码我已经上传到CSDN,下载地址:http://download.csdn.net/download/z

如何实现android蓝牙开发 自动配对连接,并不弹出提示框

如何实现android蓝牙开发 自动配对连接,并不弹出提示框 之前做一个android版的蓝牙,遇到最大的难题就是自动配对. 上网查资料说是用反射createBond()和setPin(),但测试时进行配对还是会出现提示,但配对是成功了 我就开始查找怎么关闭这个蓝牙配对提示框,后面还是伟大的android源码帮助了我. 在源码 BluetoothDevice 类中还有两个隐藏方法 cancelBondProcess()和cancelPairingUserInput() 这两个方法一个是取消配对进

Android APP 分享图片文字到微信刚开始正常,后面就不弹出分享框了

按照官方的流程走了一遍,一切顺利,分享成功了,本来以为可以大功告成了,结果睡了一觉,第二天要给客户演示了,才发现TMD坑爹了,不能分享了,第三方的分享栏弹不出来了,我一阵惊慌,还好很快找到了解决办法:原因是我进行了代码混淆,但是没有对新添加的这部分分享到微信的代码进行处理,所以...解决问题的办法很简单:需要在混淆配置文件proguard.cfg中,增加如下两行代码: -keep class com.tencent.mm.sdk.openapi.WXMediaMessage { *;} -kee