http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3669|回复: 5

[新手开发之旅] Android新手开发之旅-自定义Toast

[复制链接]
发表于 2018-12-14 15:10:02 | 显示全部楼层 |阅读模式
本帖最后由 liu 于 2018-12-14 12:06 编辑
自定义Toast





为了更好看的提示效果所以就要自定义Toast了,直接上代码:


activity_main.xml(就一个按钮用来点击弹出toast):
[XML] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击显示Toast" />
</LinearLayout>


自定义的Toast布局:
res/layout/toast.xml:
[XML] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:background="@drawable/toast"
        android:layout_marginRight="15dp"
        android:orientation="vertical">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:scaleType="fitXY"
            android:src="@drawable/icon_header" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal"
            android:padding="15dp">

            <ImageView
                android:id="@+id/iv_logo"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:src="@drawable/sflogo" />

            <TextView
                android:id="@+id/tv_content"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginLeft="20dp"
                android:gravity="center_vertical"
                android:textColor="@android:color/white" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

res/drawable/toast:
[XML] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="5dp" />
    <stroke
        android:width="1dp"
        android:color="@color/colorAccent" />
    <solid android:color="@android:color/black" />
</shape>


MainActivity:
[Java] 纯文本查看 复制代码
package com.company.helloworld.firstapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button mButton;

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

        mButton = (Button) findViewById(R.id.btn);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showToast();
            }
        });
    }

    private void showToast() {
        LayoutInflater inflater = getLayoutInflater();
        //加载自定义的布局
        View view = inflater.inflate(R.layout.toast, null);

        ImageView iv_logo = view.findViewById(R.id.iv_logo);
        iv_logo.setImageResource(R.drawable.sflogo);
        TextView tv_content = view.findViewById(R.id.tv_content);
        tv_content.setText("http://www.sufeinet.com/forum-183-1.html");

        Toast toast = new Toast(this);
        //设置Toast显示的位置
        toast.setGravity(Gravity.CENTER, 0, 0);
        //设置持续时间
        toast.setDuration(Toast.LENGTH_LONG);
        //添加视图文件
        toast.setView(view);
        toast.show();
        mButton.setVisibility(View.GONE);
    }

}

效果图:

         x.gif



更多图片 小图 大图
组图打开中,请稍候......


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-12-14 15:17:19 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-12-14 16:36:06 | 显示全部楼层
楼主,版面不错哦
发表于 2018-12-14 16:54:11 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-15 12:04:07 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-15 13:58:52 | 显示全部楼层
真是难得给力的帖子啊。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 13:55

© 2014-2021

快速回复 返回顶部 返回列表