ITPub博客

首页 > 应用开发 > Java > 直播网站源码Android 自定义toast显示效果

直播网站源码Android 自定义toast显示效果

原创 Java 作者:zhibo系统开发 时间:2020-07-13 14:05:34 0 删除 编辑

编码实现

**ToastUtils.java**


public class ToastUtils {
    private static Toast mToast;
    public static void showShortText(String text){
        showText(text,Toast.LENGTH_SHORT);
    }
    public static void showLongText(String text){
        showText(text,Toast.LENGTH_LONG);
    }
    public static void showText(String text,int duration){
        if (TextUtils.isEmpty(text)){
            return;
        }
        TextView tvText;
        if (mToast == null){
            mToast = Toast.makeText(MyApplication.getContext(), "", Toast.LENGTH_SHORT);
            final View toastLayout = ((LayoutInflater) MyApplication.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
                    .inflate(R.layout.toast_layout, null);
            tvText = toastLayout.findViewById(R.id.toast_text);
            mToast.setView(toastLayout);
        }else {
            mToast.cancel();
            mToast = Toast.makeText(MyApplication.getContext(), "", Toast.LENGTH_SHORT);
            final View toastLayout = ((LayoutInflater) MyApplication.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
                    .inflate(R.layout.toast_layout, null);
            tvText = toastLayout.findViewById(R.id.toast_text);
            mToast.setView(toastLayout);
        }
        mToast.setDuration(duration);
        tvText.setText(text);
        mToast.show();
    }
    
    // 普通方法.....
    public static void showToast(String msg, int duration) {
        
        mToast = Toast.makeText(MyApplication.getContext(), "", duration);
        mToast.setText(msg);
        mToast.show();
    }
}
```
**toast_layout.xml**
```clike
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
    xmlns:tools="
    android:id="@+id/toast_root"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_toast">
    <TextView
        android:textSize="13.5sp"
        android:textColor="@color/white"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:paddingTop="8dp"
        android:paddingBottom="8dp"
        android:id="@+id/toast_text"
        android:layout_gravity="center_horizontal"
        android:shadowColor="#BB000000"
        android:shadowRadius="2.75"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>



**bg_toast**


<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
    xmlns:android=">
    <corners android:radius="6dp"/>
    <solid android:color="#cc555555" />
</shape>



使用


ToastUtils.showShortText("1111");





总结

自定义背景效果还是比较简单的,有利于统一机型效果,不是很复杂。主要是从toast源码提供的api我们进行了相应的扩展,容易的实现是建立在对原理的理解与运用上的,多多注重基础,一起前进。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69978258/viewspace-2704117/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-02

  • 博文量
    604
  • 访问量
    232124