1. 程式人生 > >android——懸浮窗控制元件Toast

android——懸浮窗控制元件Toast

前端

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.wuzuo.toast.MainActivity">

   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content">
       <Button
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/button_toast"
           android:text="HAHA"
           android:textSize="60dp"/>
   </LinearLayout>
</RelativeLayout>

後端

Toast 是一個懸浮窗控制元件,在不影響使用者操作的條件下,按動按鈕顯示懸浮窗。
不同的是,Toast不支援點選事件,需要函式呼叫。所以要在外部函式初始化我們按鈕的
控制元件,當我們的物件V創建出來時,在v呼叫函式toast
先建立一個Toast,並用Toast.makeTest(上下文(this),“顯示內容”,“時間”)
然後.show();
即可

package com.example.wuzuo.toast;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       inint();
    }
    private  void inint()
    {
        findViewById(R.id.button_toast).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showtoast();
            }
        });

    }
private  void showtoast()
{
   Toast toast= Toast.makeText(this,"haha",Toast.LENGTH_LONG);
    toast.show();
}

}

能顯示圖片的懸浮窗

Toast toast1=new Toast.makeText(this,“ XXXXX”,Toast.LENTH_SHORT);

LinearLayout toast_ linearlayout=(linearlayout)toast1.getView();

ImageView iv= new ImageView(this);

iv.setImageResource(R.mipmap.ic_launcher);
        toast_layout.addView(iv,0);
        toast1.show();

自定義懸浮窗
   LayoutInflater inflater=LayoutInflater.from(this);
        View toast_view=inflater.inflate(R.layout.toast_linearlayout, null);
        Toast toast=new Toast(this);
        toast.setView(toast_view);
        toast.show();