zoukankan      html  css  js  c++  java
  • android toast使用方法

    1.默认展示

        // 第一个参数:当前的上下文环境。可用getApplicationContext()或this 
        // 第二个参数:要显示的字符串。也可是R.string中字符串ID 
        // 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms 
        Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT); 
        //显示toast信息 
        toast.show(); 

    2.自定义显示位置

        Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT); 
                //第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶 
                //第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移 
                //第三个参数:同的第二个参数道理一样 
                //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示 
                toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100);  
                //屏幕居中显示,X轴和Y轴偏移量都是0 
                //toast.setGravity(Gravity.CENTER, 0, 0);  
                toast.show(); 

    3.带图片的

        Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000); 
            toast.setGravity(Gravity.CENTER, 0, 0);  
            //创建图片视图对象 
            ImageView imageView= new ImageView(getApplicationContext()); 
            //设置图片 
            imageView.setImageResource(R.drawable.ic_launcher); 
            //获得toast的布局 
            LinearLayout toastView = (LinearLayout) toast.getView(); 
            //设置此布局为横向的 
            toastView.setOrientation(LinearLayout.HORIZONTAL); 
            //将ImageView在加入到此布局中的第一个位置 
            toastView.addView(imageView, 0); 

    4.完全自定义显示方式

    1. toast.xml布局

    <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    
            <TextView
                android:id="@+id/content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    
        </LinearLayout>

    2.activity代码

    public class ToastActivity extends Activity {
        private Button bt;
        private ImageView image;
        private TextView title, content;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            bt = (Button) findViewById(R.id.bt);
            bt.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    showToast();
                }
            });
        }
    
        private void showToast() {
            LayoutInflater inflater = getLayoutInflater();
            View view = inflater.inflate(R.layout.toast, null);
            image = (ImageView) view.findViewById(R.id.image);
            title = (TextView) view.findViewById(R.id.title);
            content = (TextView) view.findViewById(R.id.content);
            image.setBackgroundResource(R.drawable.ic_launcher);
            title.setText("自定义toast");
            content.setText("hello,self toast");
            Toast toast = new Toast(getApplicationContext());
            toast.setGravity(Gravity.CENTER, 0, 0);
            toast.setDuration(Toast.LENGTH_SHORT);
            toast.setView(view);
            toast.show();
        }
    
    }

    5.其他线程通过Handler的调用

    //调用方法1 
        //Thread th=new Thread(this); 
        //th.start(); 
        //调用方法2 
        handler.post(new Runnable() { 
            @Override 
            public void run() { 
                showToast(); 
            } 
        }); 
     
    Java代码
    public void showToast(){ 
            Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他线程中调用显示", Toast.LENGTH_SHORT); 
            toast.show(); 
        } 
     
    Java代码
    Handler handler=new Handler(){ 
            @Override 
            public void handleMessage(Message msg) { 
                int what=msg.what; 
                switch (what) { 
                case 1: 
                    showToast(); 
                    break; 
                default: 
                    break; 
                } 
                 
                super.handleMessage(msg); 
            } 
        }; 
     
    Java代码
    @Override 
        public void run() { 
            handler.sendEmptyMessage(1); 
        }
  • 相关阅读:
    ubuntu下文件安装与卸载
    webkit中的JavaScriptCore部分
    ubuntu 显示文件夹中的隐藏文件
    C语言中的fscanf函数
    test
    Use SandCastle to generate help document automatically.
    XElement Getting OuterXML and InnerXML
    XUACompatible meta 用法
    Adobe Dreamweaver CS5.5 中文版 下载 注册码
    The Difference Between jQuery’s .bind(), .live(), and .delegate()
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4195163.html
Copyright © 2011-2022 走看看