toast工具类
package com.travelsky.airportapp.utils;
import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.travelsky.airportapp.R;
/**
* Created by iwanglijun on 2016/10/11.
*/
public class ToastBig {
private static Toast toast;
public static void toast(Context context, String chapterName) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.book_reading_seekbar_toast, null);
TextView chapterNameTV = (TextView) view.findViewById(R.id.chapterName);
chapterNameTV.setText(chapterName);
toast = new Toast(context);
//这一行是为了控制toast显示的位置
toast.setGravity(Gravity.CENTER_VERTICAL, 0, PixelFormat.formatDipToPx(context,70));
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
}
Xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@null" >
<RelativeLayout
android:background="@drawable/book_reading_toast_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="37dp"
android:paddingTop="39dp"
android:layout_gravity="center_vertical">
<TextView
android:id="@+id/chapterName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:text="www.wanglijun.vip"
android:textColor="#ffffff"
android:textSize="20sp" />
</RelativeLayout>
</LinearLayout>
dip和px互换工具类
package com.travelsky.airportapp.utils;
import android.app.Activity;
import android.content.Context;
import android.util.DisplayMetrics;
/**
* dip和px互换类
* Created by iwanglijun on 2016/10/11.
*/
public class PixelFormat {
/**
* 把dip单位转成px单位
*
* @param context context对象
* @param dip dip数值
* @return
*/
public static int formatDipToPx(Context context, int dip) {
DisplayMetrics dm = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay()
.getMetrics(dm);
return (int) Math.ceil(dip * dm.density);
}
/**
* 把px单位转成dip单位
*
* @param context context对象
* @param px px数值
* @return
*/
public static int formatPxToDip(Context context, int px) {
DisplayMetrics dm = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay()
.getMetrics(dm);
return (int) Math.ceil(((px * 160) / dm.densityDpi));
}
}
自定义这个toast是因为系统默认的太小了,并且是在页面的下方,用pad使用的时候可能会注意不到,所以这个toast是个放大版的,故命名ToastBig
调用的时候,传入上下文和toast要显示的内容即可。