您的位置:首页 > 移动开发 > Android开发

自定义Android Toast样式

2016-05-19 10:38 330 查看
第一步:新建自定义Toast的布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/main"
android:gravity="center"
android:orientation="horizontal">

<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="@dimen/titleBarHeight"
android:layout_centerVertical="true"
android:src="@mipmap/ic_launcher"/>

<TextView
android:id="@+id/text"
android:layout_toRightOf="@+id/iv"
android:text="文字文字"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFF" />
</RelativeLayout>


第二步:新建ToastUtil类

import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.xiong.frame.R;
import com.xiong.frame.application.MyApplication;

/**
* Developer : xiongwenwei@aliyun.com
* Create Time :
* Function:
*/
public class ToastUtil {

public static void show(Object obj) {
Toast toast = Toast.makeText(MyApplication.getInstance(), (CharSequence) obj, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}

public static void showDiy(Object obj) {
//创建View
Context context = MyApplication.getInstance();
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.diy_toast, null, false);
//初始化控件
TextView text = (TextView) view.findViewById(R.id.text);
ImageView mImageView = (ImageView) view.findViewById(R.id.iv);
mImageView.setImageResource(R.mipmap.ic_launcher);
text.setText(obj.toString());
//创建Toast
Toast toast = new Toast(context);
toast.setGravity(Gravity.FILL_HORIZONTAL|Gravity.TOP, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
}


第三步:在需要的地方调用

ToastUtil.showDiy("两次密码不一致");


效果图:[只是简单的做下效果,具体更多的功能可以自己实现]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: