zoukankan      html  css  js  c++  java
  • Android自定义Toast

    在Android程序设计中,有时候我们需要自定义Toast提示信息的背景颜色和边框颜色,例如下图:

     

    默认的Toast无法实现我们所需要的效果,那么我们只能自定义布局文件,另外Toast的背景形状是圆角的,所以我们需要自定义Shape文件。

      步骤如下:

      1、在drawable-hdpi下新建一个my_border.xml文件

       <?xml version="1.0" encoding="UTF-8"?>

      <shape xmlns:android="http://schemas.android.com/apk/res/android">

          <solid android:color="#ff0000ff"/>   

          <stroke android:width="1dp" android:color="#FFFFFFFF" />

          <padding android:left="7dp" android:top="7dp"

                  android:right="7dp" android:bottom="7dp" />

          <corners android:radius="4dp" />

      </shape>

      2、新建一个布局文件my_toast.xml

    <?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/my_border">

    <TextView android:layout_width="wrap_content" android:id="@+id/TextViewInfo"

     android:layout_height="wrap_content" android:text="这是一个自定义背景颜色的提示框"

    android:layout_gravity="center_vertical" android:textColor="#ff00ff00"></TextView>

      </LinearLayout>

      在此文件中把该布局的背景设为第一步时建立的Shape文件。

      3、Java调用代码:

      View toastRoot = getLayoutInflater().inflate(R.layout.my_toast, null);

      Toast toast=new Toast(getApplicationContext());

       toast.setView(toastRoot);

      TextView tv=(TextView)toastRoot.findViewById(R.id.TextViewInfo);

      tv.setText("说明:这是一个自定义边框和底色的提示框。");

      toast.show();

  • 相关阅读:
    压缩打包linux 文件压缩解压命令Strut2教程java教程
    【leetcode】Valid Parentheses
    指向数据个人对指针的理解,欢迎大家批评Strut2教程java教程
    UML中的用例图
    Extjs4中组件的查找方式
    Extjs中选择组件、选择元素的方法
    [转载]C 内存管理详解
    C开发机顶盒实战代码之队列
    C机顶盒开发实战常用初始化类型:数组、结构、指针
    [转载]C语言链表的建立、插入和删除
  • 原文地址:https://www.cnblogs.com/Yellow0-0River/p/4531204.html
Copyright © 2011-2022 走看看