android自定了了下Toast,随便玩玩

好酒没写过博客了,今天无薪资休假一天,雅达,写点什么吧!

最近公司来了几个三年经验的大犇,搞到我硬着头皮上去做他们的面试官,结果这个本来意气风发的面试官瞬间被秒得面目全非,

我觉得我再也不会上了,感觉不会再爱了

 

上头了吧!

还是要秉承着中华民族的优良传统多写点博文,为国家,或者为大数据贡献一份力量,

 

扯的有点远了,

也不是什么高森的技术,只是设置一下Toast而已啦!随便改都可以的

先上效果图

 

上一个重写了Toast的代码,呢个系解决Toast不能及时显示的问题,到时候整合上面那个效果就OK啦啦!

呢一个系可以直接使用的啦!

/**
 * @author July
 * 
 * @version 1.0
 * @create 2013-6-14 下午8:47:58
 * 
 */
public class JToast {
    
    // Toast实例
    private static Toast mToast;
    // 默认时长
    private static final int iStdDuration = Toast.LENGTH_SHORT;
    
    
    /**
     * @author July
     * @create 2013-6-14 下午9:02:29
     * 
     * @description:使用默认时长显示
     * 
     * @param context 
     * @param text 显示文本
     */
    public static void show(Context context, String text) {
        if (mToast == null) {
            mToast = Toast.makeText(context, text, iStdDuration);
        } else {
            mToast.setText(text);
        }
        mToast.show();
    }
    
    
    /**
     * @author July
     * @create 2013-6-14 下午9:02:49
     * 
     * @description:使用指定时长显示
     * 
     * @param context
     * @param text 显示文本
     * @param duration 显示时长
     */
    public static void show(Context context, String text, int duration) {
        if (mToast == null) {
            mToast = Toast.makeText(context, text, duration);
        } else {
            mToast.setText(text);
        }
        mToast.show();
    }
    
    /**
     * 
     * 
     * @author ddJuly
     * @date 2013-10-31 下午2:33:11
     * @param context
     * @param text
     */
    public static void show(Context context, int text) {
        if (mToast == null) {
            mToast = Toast.makeText(context, text, iStdDuration);
        } else {
            mToast.setText(text);
        }
        mToast.show();
    }
    
    
    /**
     * 
     * 
     * @author ddJuly
     * @date 2013-10-31 下午2:33:13
     * @param context
     * @param text
     * @param duration
     */
    public static void show(Context context, int text, int duration) {
        if (mToast == null) {
            mToast = Toast.makeText(context, text, duration);
        } else {
            mToast.setText(text);
        }
        mToast.show();
    }
    
}

 

 

一下呢个呢,就系那个效果图啦!

MainActivity.java

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                LayoutInflater inflater = LayoutInflater
                        .from(MainActivity.this);
                View view = inflater.inflate(R.layout.template_toast, null);

                TextView textView = (TextView) view.findViewById(R.id.textView1);

                SpannableString ss = new SpannableString("今天天气好吗?挺好的(网上抄的)");
//                ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 7,
//                        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//                ss.setSpan(new ForegroundColorSpan(Color.GREEN), 7, 10,
//                        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                textView.setText(ss);
                textView.setTextColor(Color.WHITE);

                Toast toast = new Toast(MainActivity.this);
                toast.setDuration(Toast.LENGTH_LONG);
                toast.setView(view);
                toast.setGravity(Gravity.TOP, 0, 100);
                toast.show();

            }
        });

    }

}

 

toast_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 圆角 -->
    <corners
        android:radius="9dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp"
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"/><!-- 设置圆角半径 -->
    <!-- 渐变 -->
    <gradient />
    <!-- 间隔 -->
    <padding
        android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp"/><!-- 各方向的间隔 -->
    <!-- 大小 -->
    <size /><!-- 宽度和高度 -->
    <!-- 填充 -->
    <solid
        android:color="#90000000"/><!-- 填充的颜色 -->
    <!-- 描边 -->
    <stroke
        android:width="1dp"
        android:color="#90000000"
        android:dashWidth="0dp"
        android:dashGap="0dp"/>
</shape>

 

template_toast.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/toast_bg"
    android:gravity="center_horizontal"
    android:padding="12dp" >

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_gravity="center_vertical"
        android:layout_marginRight="5dp" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/progressBar1"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_vertical"
        android:text="@string/hello_world"
        android:textColor="#FFFFFF" />

</LinearLayout>

 

好啦,全部代码上完啦!

相信众叼毛ok的啦!!!

 

 

 

posted on 2013-12-04 22:36  精灵July  阅读(546)  评论(0编辑  收藏  举报

导航