自定义toast的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luzhiquanandroid/article/details/51734798

写一个布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/toast_view_bg"
    android:gravity="center"
    android:orientation="horizontal" >


    <ImageView
        android:id="@+id/iv"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:src="@drawable/ic_launcher" />


    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用户提示" />


</LinearLayout>

布局的布局写一个shape文件:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"
    android:useLevel="false" >


    <solid android:color="#880000ff" />
<corners android:radius="5dp"/>
    <size
        
        android:height="50dp"
        android:width="50dp" />
</shape>


代码逻辑的实现:

写一个BaseActivity或者在BaseFragment写一个关于弹出toast的方法

public class BaseAbtivity extends Activity {
private TextView tv;
private View view;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}


public void showToast(String msg) {
Toast toast = new Toast(this);
view = View.inflate(this, R.layout.toast_view, null);
tv = (TextView) view.findViewById(R.id.tv);
tv.setText(msg);
toast.setView(view);
toast.show();
}
}

如果需要toast显示更加多样就自己修改布局就可以实现了。

猜你喜欢

转载自blog.csdn.net/luzhiquanandroid/article/details/51734798