toast可以设置自定义的view和显示位置。下面是一个简单的例子,复杂些的就是改变其布局文件就可以了。

/**
* @author BMR
* @ClassName: ToastWithTwoText
* @Description: TODO:
* @date 2015/12/22 14:24
*/
public class ToastWithTwoText {
private static ToastWithTwoText toastWithTwoText; private Toast toast;
private Context mContext; private ToastWithTwoText(Context context) {
this.mContext = context;
} public static ToastWithTwoText createToastConfig(Context context) {
if (toastWithTwoText == null) {
toastWithTwoText = new ToastWithTwoText(context);
}
return toastWithTwoText;
} /**
* 显示Toast
*
* @param tvStrOne
* @param tvStrTwo
*/ public void ToastShow(String tvStrOne, String tvStrTwo) {
View layout = LayoutInflater.from(mContext).inflate(R.layout.layout_toast_with_two_text, null);
TextView tvOne = (TextView) layout.findViewById(R.id.tv_text_one);
TextView tvTwo = (TextView) layout.findViewById(R.id.tv_text_two);
tvOne.setText(tvStrOne);
tvTwo.setText(tvStrTwo);
toast = new Toast(mContext);
toast.setGravity(Gravity.CENTER | Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
} public void ToastShow(int idStrOne, int idStrTwo) {
ToastShow(mContext.getString(idStrOne), mContext.getString(idStrTwo));
} }

布局文件代码

<?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:layout_gravity="center"
android:paddingLeft="@dimen/common_16"
android:paddingRight="@dimen/common_16"
android:background="@drawable/bg_circle_cornor_rect"
android:orientation="vertical"> <TextView
android:id="@+id/tv_text_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/common_16"
android:gravity="center"
android:textColor="@color/trans_white2"
android:textSize="16dp"/> <TextView
android:id="@+id/tv_text_two"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/common_16"
android:gravity="center"
android:textColor="@color/trans_white2"
android:textSize="16dp"/> </LinearLayout>

圆角背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/trans_black_87" />
<corners android:topLeftRadius="8dp"
android:topRightRadius="8dp"
android:bottomRightRadius="8dp"
android:bottomLeftRadius="8dp"/>
</shape>

资源字段

<color name="trans_black_87">#DD000000</color> <!-- 87% trans -->
<color name="trans_white2">#ccffffff</color>
<dimen name="common_16">16dp</dimen>

自定义Toast样式-两行文本居中显示的更多相关文章

  1. 重写TextView,实现圆形背景,文本居中显示

    最近,在做考试试题排版,产品提出题号希望显示成圆形背景,序号文本居中显示. (有点问题:文本没有绝对居中,暂时没做处理.) 为此,我采取的方式是重写TextView的onDraw方法,绘制一个圆形背景 ...

  2. CSS文本居中显示

    因为一直为元素居中问题而困扰,所以决定把自己遇到和看到的方法记录下来,以便以后查看 如果要让inline或inline-block元素居中显示,则父元素css中包含text-align:center; ...

  3. flex的Accordion组件头部文本居中显示

    flex的Accordion组件头部文本默认是居左的,可以通过设置headerStyleName属性使之居中,另外还可以设置字体的样式等 <?xml version="1.0" ...

  4. ExtJS -- Grid 文本居中显示

    Reference: http://stackoverflow.com/questions/6561120/extjs-4-apply-defaults-to-all-columns-in-a-gri ...

  5. LabelControl文本居中显示

    https://www.devexpress.com/Support/Center/Question/Details/Q94915 If you set the AutoSizeMode to Non ...

  6. css 单行文本居中显示,多行文本左对齐

    父级元素 text-align:center; 自级元素 text-align:left; display:inline-block;

  7. ToastUtil【简单的Toast封装类】【未自定义Toast的显示风格】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 一个简单的Toast封装类. 效果图 API = 6.0 API = 4.4.2 代码分析 实现了不管我们触发多少次Toast调用, ...

  8. ToastCustomUtil【简单的Toast封装类】【自定义Toast的显示风格】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 ToastUtil + ToastCustom结合.主要解决低版本机型上系统toast显示不好看的问题. 效果图 代码分析 在Toa ...

  9. 自定义Toast的显示位置和显示内容

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

随机推荐

  1. Hadoop 3、Hadoop 分布式存储系统 HDFS

    HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统. 一.HDFS的优缺点 1.HDFS优点: a.高容错性 .数据保存多个副本 .数 ...

  2. ffmpeg+SDl+ 播放器 -01

    最近因公司项目需要,打算自己在LINUX平台整一个播放器,来学习和研究音频编解码. 项目需求: 支持下列格式文件播放. 1> WMA 硬件解码,但需要软件分析ASF格式,提取Payload数据 ...

  3. 卸载mysql残留

    一.在控制面板中查看是否有mysql,有则进行卸载.或执行同样版本号的mysql安装文件,选择"remove"进行卸载. 二.卸载mysql后其服务仍在,解决的方法: 点击&quo ...

  4. (转载)log4net 组件详解

    1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual S ...

  5. MVC+simpleinjector 简单使用

    一.首先添加NuGet包如下图

  6. Foundation 框架

    1.框架是有许多类,函数,方法,文档按照一定的逻辑组织起来的集合 2. Foundation框架是所有框架的基础 3.术语cocoa指的是foundation框架和appication kit框架 4 ...

  7. linux下socket编程-TCP

    网络字节序 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出 ...

  8. vc++ internet

    1.用VC开发ActiveX文档服务器 MFC 4.2不支持开发ActiveX容器,但支持ActiveX服务器.只要在使用MFC AppWizard生成应用程序框架时选择支持Active Docume ...

  9. c#访问各数据库的providerName各驱动

    在machine.config(C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG)文件中有这么一段: <system.data> & ...

  10. c语言 文件写入和读取

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10 struct studen ...