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); 
        }
  • 相关阅读:
    RabbitMQ source was instantiated with usesCorrelationId set to true but a message was received with correlation id set to null
    【Ubuntu】运行命令如何免输入YES和回车?
    运营的本质
    什么???前端页面统计停留时间你不会???那可得好好看看这个文章了
    使用el-switch实现开关(更改状态后展示状态)
    Linux编译安装时常见错误解决办法
    SignalR前后端通信
    声音类型识别库运行环境搭建
    uniapp使用axios(亲测可用)
    background + gradient 使用技巧
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4195163.html
Copyright © 2011-2022 走看看