我正在制作一个自定义吐司,代码片段如下所示我为此目的充气自定义布局,我需要务实地设置布局参数,
Context context = getApplicationContext();
// Create layout inflator object to inflate toast.xml file
LayoutInflater inflater = getLayoutInflater();
// Call toast.xml file for toast layout
View toastcreation = inflater.inflate(R.layout.toast, null);
Toast toast = new Toast(context);
// Set layout to toast
toast.setView(toastcreation );
//how to set parameters programatically here??
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
我需要使它居中水平并且垂直于cemter。
同样我使用toast.setDuration(Toast.LENGTH_LONG);
,可以显示时间长度而不是使用Toast.LENGTH_LONG
答案 0 :(得分:2)
使用这样的方法实现:
LayoutInflater inflater = activity.getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout, null);
TextView text = (TextView) layout.findViewById(R.id.yourtext);
text.setText(msg);
Toast toast = new Toast(activity);
toast.setGravity(Gravity.CENTER, 0, 40);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
您也可以从此处下载自定义Toast演示源代码:http://www.demoadda.com/demo/android/downlaod-demo-of-create-custom-toast-in-android-source-code_30
答案 1 :(得分:1)
要在中心设置吐司,您可以使用toast.setgravity方法。即使您指定了某个数量来代替length_long,它仍然需要默认的时间
而是定义一个处理程序,以便在指定的时间后处理程序将解除或取消Toast。
使用handler.postDelayed方法。
希望有所帮助。