自定义Android Toast

jopen 11年前

Toast用于向用户显示一些帮助/提示。下面我做了4中效果,来说明Toast的强大,定义一个属于你自己的Toast。

1.默认效果

自定义Android Toast

代码

Toast.makeText(getApplicationContext(), "默认Toast样式",       Toast.LENGTH_SHORT).show();

2.自定义显示位置效果

自定义Android Toast

代码

toast = Toast.makeText(getApplicationContext(),       "自定义位置Toast", Toast.LENGTH_LONG);     toast.setGravity(Gravity.CENTER, 0, 0);     toast.show();

3.带图片效果

自定义Android Toast

代码

toast = Toast.makeText(getApplicationContext(),       "带图片的Toast", Toast.LENGTH_LONG);     toast.setGravity(Gravity.CENTER, 0, 0);     LinearLayout toastView = (LinearLayout) toast.getView();     ImageView imageCodeProject = new ImageView(getApplicationContext());     imageCodeProject.setImageResource(R.drawable.icon);     toastView.addView(imageCodeProject, 0);     toast.show();

4.完全自定义效果

自定义Android Toast

代码如下:

LayoutInflater inflater = getLayoutInflater();     View layout = inflater.inflate(R.layout.custom,       (ViewGroup) findViewById(R.id.llToast));     ImageView image = (ImageView) layout       .findViewById(R.id.tvImageToast);     image.setImageResource(R.drawable.icon);     TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);     title.setText("Attention");     TextView text = (TextView) layout.findViewById(R.id.tvTextToast);     text.setText("完全自定义Toast");     toast = new Toast(getApplicationContext());     toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);     toast.setDuration(Toast.LENGTH_LONG);     toast.setView(layout);     toast.show();