Android 自定义Toast
关于toast.setGravity()
以toast.setGravity(Gravity.CENTER,0,0);//偏移量 (0,0)表示显示在屏幕中央
为例
假如框是toast.setGravity(Gravity.CENTER,0,0);
那么红色匡为toast.setGravity(Gravity.CENTER,100,-100);
(比喻)
那么黑色匡为toast.setGravity(Gravity.CENTER,-100,-100);
(比喻)
可以理解的吧!
mainActivity.java
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import fengxing.primer.textlink.R;
public class NotificationActivity extends AppCompatActivity {
private Button bt_notification;
private Button bt_notification2;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
bt_notification =findViewById(R.id.bt_notification);
bt_notification2 =findViewById(R.id.bt_notification2);
bt_notification.setOnClickListener(new MyOnClickListen());
bt_notification2.setOnClickListener(new MyOnClickListen());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.system_menu,menu);
return super.onCreateOptionsMenu(menu);
}
/**
* 按钮事件
*/
class MyOnClickListen implements View.OnClickListener{
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.bt_notification:
{
Toast toast = Toast.makeText(NotificationActivity.this,"通知",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER,0,0);//偏移量 (0,0)表示显示在屏幕中央
toast.show();
}
break;
case R.id.bt_notification2:
{
/**
自定义toast
*/
Toast toast = new Toast(NotificationActivity.this);
//加载布局
View view1 = LayoutInflater.from(NotificationActivity.this).inflate(R.layout.activity_dialog2,null);
ImageView imageView = view1.findViewById(R.id.iv_notify_image);
imageView.setImageResource(R.drawable.a11);
TextView textView = view1.findViewById(R.id.tv_notify_content);
textView.setText("亲,请内心等待网络加载数据...");
toast.setDuration(Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER,0,0);
toast.setView(view1);
toast.show();
}
break;
default:
break;
}
}
}
}