精华内容
下载资源
问答
  • WPF下实现类似微信Toast控件: 1.淡入淡出弹出Toast提示框 2.显示固定时长后自动消失 3.友好性图标 4.可根据父容器定位 5.可根据显示器定位,并去除任务栏高度和宽度(为了防止某些装逼人士,喜欢把默认的底部任务栏...
  • 一个优雅的Toast控件

    2018-01-24 18:41:50
    一个简单的Toast控件,实现市面上常见的一些Toast,很全,有兴趣的小伙伴们可以下载下来玩玩,很简单
  • 本文实例讲述了Android编程之Button控件配合Toast控件用法。分享给大家供大家参考,具体如下: 在本章教程中,我们将会学习Button控件的使用,同时顺便说一下Toast提示控件。 在Android程序开发中,我们使用最多的...
  • 简洁优雅可点击的toast控件,仿手机百度9.0,无BadTokenException风险
  • Toast控件

    2021-03-17 22:14:34
    Android 开发的UI布局分成以下六种:LinearLayout (水平布局)  RelativeLayout (相对布局...今天学习了Toast的使用方式。 Toast使用显示文字,图片 以及图文结合的方式。 1、文本形式 Toast.makeText(Context con

    Android 开发的UI布局分成以下六种:LinearLayout (水平布局)  RelativeLayout (相对布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局)以及api17以后andorid 4.0 出现的GridLayout(网格布局)。其中绝对布局已经不使用了。

    今天学习了Toast的使用方式。

    Toast使用显示文字,图片 以及图文结合的方式。

    1、文本形式

    Toast.makeText(Context context, "Toast 显示文字", Toast.LENGTH_SHORT).show();
    通过Toast的makeText方法可以显示文字 代表的是上下文环境  应用的上下文环境是通过getApplicationContext()
    方法进行获取,第二个参数是要显示的文字,第三个参数是显示的是时间。
    2、Toast显示图片
    这个时候就不能用Toast的makeText方法,要常见一个Toast对象	
    	Toast toast = new Toast(this);
    	ImageView imageView = new ImageView(this);   //获取图片控件
    	imageView.setImageResource(R.drawable.a1);   //将图片资源通过id的形式设置到图片控件中
    	toast.setView(imageView);	             //给toast设置要填充的view
    	toast.show();				     // 将toast显示出来
    3、Toast 显示图文
    Toast toast = new Toast(this);
    TextView tv = new TextView(this);
    ImageView imageView = new ImageView(this);
    LinearLayout linearLayout = new LinearLayout(this);
    tv.setText("Toast显示图文");
    imageView.setImageResource(R.drawable.a1);
    linearLayout.setGravity(Gravity.CENTER);
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    linearLayout.addView(tv);
    linearLayout.addView(imageView);
    toast.setView(linearLayout);
    toast.setDuration(Toast.LENGTH_SHORT);
    toast.show();
    和上面显示图片的形式一样,是将LinearLayout作为一个整体的布局填充到Toast中。
    

    ————————————————
    版权声明:本文为CSDN博主「我是郭小黑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/chenyuyang88/article/details/52347576

    展开全文
  • Android Toast控件

    2021-03-16 22:41:11
    Toast控件 Toast是Android系统提供的轻量级信息提醒机制,用于即使向用户提示。显示在最上层并显示一段时间后自动消失。 代码: Toast.makeText(Context,Text,Time).show(); 首先调用Toast的makeText()方法设置提示...

    Toast控件

    Toast是Android系统提供的轻量级信息提醒机制,用于即使向用户提示。显示在最上层并显示一段时间后自动消失。
    代码:
    Toast.makeText(Context,Text,Time).show();
    首先调用Toast的makeText()方法设置提示信息,然后调用show方法将提示信息显示到界面中。
    关于makeText方法参考的相关介绍具体如下:
    1.Context:表示应用程序环境的信息,即当前组件环境。Context是一个抽象类。
    2.Text:表示提示的字符串信息。
    3.Time:表示显示信息的时长。
    案例:"WIFI已断开"的信息。

    Toast.makeText(MainActivity.this,“WIFI已断开”,Toast.LENGTH_SHORT).show();
    多用于网络未连接,用户名密码输入错误或者退出应用等场景。

    展开全文
  • 使用Qt Widget Application技术实现桌面操作系统下类似Android的toast控件效果。Demo中实现为多线程的单例模式。
  • 本文章主要讲如何通过自定义控件配合Popup实现个性化Toast提示框。目前主要实现了如下几个功能: 淡入淡出弹出Toast提示框 显示固定时长后自动消失 友好性图标 可根据父容器定位 可根据显示器定位,并去除任务栏...

    因系统功能需要,需要那种像微信一样的Toast弹出框,可以有图标和文字提示,然后一定时间后可以自动消失

    本文章主要讲如何通过自定义控件配合Popup实现个性化Toast提示框,使用Net4开发,支持XP。目前主要实现了如下几个功能:

    • 淡入淡出弹出Toast提示框
    • 显示固定时长后自动消失
    • 友好性图标
    • 可根据父容器定位
    TopLeft-------TopCenter------TopRight
    |                 |                 |
    CenterLeft-----Center-----CenterRight
    |                 |                 |
    BottomLeft--BottomCenter--BottomRight
    
    • 可根据显示器定位,并去除任务栏高度和宽度(为了防止某些装逼人士,喜欢把默认的底部任务栏移至其它方向)
    TopLeft-------TopCenter------TopRight
    |                 |                 |
    CenterLeft-----Center-----CenterRight
    |                 |                 |
    BottomLeft--BottomCenter--BottomRight
    ================任务栏================
    
    • 可跟随父容器一起移动
    • 可根据父容器大小改变自动计算新位置
    • 可添加提示框关闭事件和单击事件

    NuGet包

    Toast使用了Awesome字体图标库,可以通过以下命令实现安装:

    Install-Package MahApps.Metro.IconPacks.FontAwesome -Version 2.3.0
    

    实现效果预览

    在这里插入图片描述

    创建Toast

    首先新建一个Toast控件并继承于UserControl
    在这里插入图片描述

    构建前端页面

    <UserControl x:Class="WpfToast.Controls.Toast"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 xmlns:local="clr-namespace:WpfToast.Controls"
                 xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
                 mc:Ignorable="d" Height="{Binding Height}" Width="{Binding Width}" MouseLeftButtonDown="UserControl_MouseLeftButtonDown"
                 d:DesignHeight="48" d:DesignWidth="200" MinWidth="200" MaxWidth="500" Focusable="False">
        <UserControl.Resources>
            <local:ToastIconConverter x:Key="icon_converter"></local:ToastIconConverter>
        </UserControl.Resources>
        <Border CornerRadius="{Binding CornerRadius}" 
                BorderThickness="{Binding BorderThickness}" 
                Background="{Binding Background}" 
                BorderBrush="{Binding BorderBrush}">
            <Grid x:Name="grid">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto"></ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <iconPacks:PackIconFontAwesome x:Name="icon_toast" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" 
                                               Width="{Binding IconSize}" Height="{Binding IconSize}" Margin="10 0 10 0">
                    <iconPacks:PackIconFontAwesome.Kind>
                        <MultiBinding Converter="{StaticResource icon_converter}">
                            <Binding Path="Icon"/>
                            <Binding ElementName="grid"/>
                            <Binding ElementName="txt_toast"/>
                        </MultiBinding>
                    </iconPacks:PackIconFontAwesome.Kind>
                </iconPacks:PackIconFontAwesome>
                <TextBlock x:Name="txt_toast" Grid.Column="1" Text="{Binding Message}" 
                           Foreground="{Binding Foreground}" 
                           FontStyle="{Binding FontStyle}"
                           FontStretch="{Binding FontStretch}"
                           FontSize="{Binding FontSize}"
                           FontFamily="{Binding FontFamily}"
                           FontWeight="{Binding FontWeight}"
                           VerticalAlignment="{Binding VerticalContentAlignment}" 
                           HorizontalAlignment="{Binding HorizontalContentAlignment}" Padding="0 0 4 0">
                </TextBlock>
            </Grid>
        </Border>
    </UserControl>
    

    构建Options类

    public class ToastOptions
    {
        public double Width { get; set; } = 200;
        public double Height { get; set; } = 48;
        public int Time { get; set; } = 2000;
        public ToastIcons Icon { get; set; } = ToastIcons.None;
        public ToastLocation Location { get; set; } = ToastLocation.Default;
        public Brush Foreground { get; set; } = Brushes.White;
        public FontStyle FontStyle { get; set; } = SystemFonts.MessageFontStyle;
        public FontStretch FontStretch { get; set; } = FontStretches.Normal;
        public double FontSize { get; set; } = SystemFonts.MessageFontSize;
        public FontFamily FontFamily { get; set; } = SystemFonts.MessageFontFamily;
        public FontWeight FontWeight { get; set; } = SystemFonts.MenuFontWeight;
        public double IconSize { get; set; } = 26;
        public CornerRadius CornerRadius { get; set; } = new CornerRadius(5);
        public Brush BorderBrush { get; set; }
        public Thickness BorderThickness { get; set; } = new Thickness(1);
        public Brush Background { get; set; } = (Brush)new BrushConverter().ConvertFromString("#2E2929");
        public HorizontalAlignment HorizontalContentAlignment { get; set; } = HorizontalAlignment.Left;
        public VerticalAlignment VerticalContentAlignment { get; set; } = VerticalAlignment.Center;
        public EventHandler<EventArgs> Closed { get; internal set; }
        public EventHandler<EventArgs> Click { get; internal set; }
    }
    

    构件图标和位置枚举类

    public enum ToastIcons
    {
        None,
        Information,//CheckSolid
        Error,//TimesSolid
        Warning,//ExclamationSolid
        Busy//ClockSolid
    }
    
    public enum ToastLocation
    {
        OwnerCenter,
        OwnerLeft,
        OwnerRight,
        OwnerTopLeft,
        OwnerTopCenter,
        OwnerTopRight,
        OwnerBottomLeft,
        OwnerBottomCenter,
        OwnerBottomRight,
        ScreenCenter,
        ScreenLeft,
        ScreenRight,
        ScreenTopLeft,
        ScreenTopCenter,
        ScreenTopRight,
        ScreenBottomLeft,
        ScreenBottomCenter,
        ScreenBottomRight,
        Default//OwnerCenter
    }
    

    构建转换器

    public class ToastIconConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            object value = values[0];
            object grid = values[1];
            object txt = values[2];
            Grid _grid = grid as Grid;
            TextBlock _txt = txt as TextBlock;
            if (value == null)
            {
                if (_grid != null)
                {
                    _grid.ColumnDefinitions.RemoveAt(0);
                }
                if (_txt != null)
                {
                    _txt.HorizontalAlignment = HorizontalAlignment.Center;
                }
                return PackIconFontAwesomeKind.None;
            }
            ToastIcons _value;
            try
            {
                _value = (ToastIcons)value;
            }
            catch
            {
                if (_grid != null)
                {
                    _grid.ColumnDefinitions.RemoveAt(0);
                }
                if (_txt != null)
                {
                    _txt.HorizontalAlignment = HorizontalAlignment.Center;
                }
                return PackIconFontAwesomeKind.None;
            }
            switch (_value)
            {
                case ToastIcons.Information:
                    return PackIconFontAwesomeKind.CheckSolid;
                case ToastIcons.Error:
                    return PackIconFontAwesomeKind.TimesSolid;
                case ToastIcons.Warning:
                    return PackIconFontAwesomeKind.ExclamationSolid;
                case ToastIcons.Busy:
                    return PackIconFontAwesomeKind.ClockSolid;
            }
            if (_grid != null)
            {
                _grid.ColumnDefinitions.RemoveAt(0);
            }
            if (_txt != null)
            {
                _txt.HorizontalAlignment = HorizontalAlignment.Center;
            }
            return PackIconFontAwesomeKind.None;
        }
    
        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
    

    构造方法

    private Toast()
    {
        InitializeComponent();
        this.DataContext = this;
    }
    
    private Toast(Window owner, string message, ToastOptions options = null)
    {
        Message = message;
        InitializeComponent();
        if (options != null)
        {
            Width = options.Width;
            Height = options.Height;
            Icon = options.Icon;
            Location = options.Location;
            Time = options.Time;
            Closed += options.Closed;
            Click += options.Click;
            Background = options.Background;
            Foreground = options.Foreground;
            FontStyle = options.FontStyle;
            FontStretch = options.FontStretch;
            FontSize = options.FontSize;
            FontFamily = options.FontFamily;
            FontWeight = options.FontWeight;
            IconSize = options.IconSize;
            BorderBrush = options.BorderBrush;
            BorderThickness = options.BorderThickness;
            HorizontalContentAlignment = options.HorizontalContentAlignment;
            VerticalContentAlignment = options.VerticalContentAlignment;
            CornerRadius = options.CornerRadius;
        }
        this.DataContext = this;
        if (owner == null)
        {
            this.owner = Application.Current.MainWindow;
        }
        else
        {
            this.owner = owner;
        }
        this.owner.Closed += Owner_Closed;
    }
    private void Owner_Closed(object sender, EventArgs e)
    {
        this.Close();
    }
    

    注册单击和关闭事件

    private event EventHandler<EventArgs> Closed;
    private void RaiseClosed(EventArgs e)
    {
        Closed?.Invoke(this, e);
    }
    
    private event EventHandler<EventArgs> Click;
    private void RaiseClick(EventArgs e)
    {
        Click?.Invoke(this, e);
    }
    

    注册控件属性

    private string Message
    {
        get { return (string)GetValue(MessageProperty); }
        set { SetValue(MessageProperty, value); }
    }
    
    private static readonly DependencyProperty MessageProperty =
        DependencyProperty.Register("Message", typeof(string), typeof(Toast), new PropertyMetadata(string.Empty));
    
    private CornerRadius CornerRadius
    {
        get { return (CornerRadius)GetValue(CornerRadiusProperty); }
        set { SetValue(CornerRadiusProperty, value); }
    }
    
    private static readonly DependencyProperty CornerRadiusProperty =
        DependencyProperty.Register("CornerRadius", typeof(CornerRadius), typeof(Toast), new PropertyMetadata(new CornerRadius(5)));
    
    private double IconSize
    {
        get { return (double)GetValue(IconSizeProperty); }
        set { SetValue(IconSizeProperty, value); }
    }
    
    private static readonly DependencyProperty IconSizeProperty =
        DependencyProperty.Register("IconSize", typeof(double), typeof(Toast), new PropertyMetadata(26.0));
    
    private new Brush BorderBrush
    {
        get { return (Brush)GetValue(BorderBrushProperty); }
        set { SetValue(BorderBrushProperty, value); }
    }
    
    private static new readonly DependencyProperty BorderBrushProperty =
        DependencyProperty.Register("BorderBrush", typeof(Brush), typeof(Toast), new PropertyMetadata((Brush)new BrushConverter().ConvertFromString("#FFFFFF")));
    
    private new Thickness BorderThickness
    {
        get { return (Thickness)GetValue(BorderThicknessProperty); }
        set { SetValue(BorderThicknessProperty, value); }
    }
    
    private static new readonly DependencyProperty BorderThicknessProperty =
        DependencyProperty.Register("BorderThickness", typeof(Thickness), typeof(Toast), new PropertyMetadata(new Thickness(0)));
    
    private new Brush Background
    {
        get { return (Brush)GetValue(BackgroundProperty); }
        set { SetValue(BackgroundProperty, value); }
    }
    
    private static new readonly DependencyProperty BackgroundProperty =
        DependencyProperty.Register("Background", typeof(Brush), typeof(Toast), new PropertyMetadata((Brush)new BrushConverter().ConvertFromString("#2E2929")));
    
    private new HorizontalAlignment HorizontalContentAlignment
    {
        get { return (HorizontalAlignment)GetValue(HorizontalContentAlignmentProperty); }
        set { SetValue(HorizontalContentAlignmentProperty, value); }
    }
    
    private static new readonly DependencyProperty HorizontalContentAlignmentProperty =
        DependencyProperty.Register("HorizontalContentAlignment", typeof(HorizontalAlignment), typeof(Toast), new PropertyMetadata(HorizontalAlignment.Left));
    
    private new VerticalAlignment VerticalContentAlignment
    {
        get { return (VerticalAlignment)GetValue(VerticalContentAlignmentProperty); }
        set { SetValue(VerticalContentAlignmentProperty, value); }
    }
    
    private static new readonly DependencyProperty VerticalContentAlignmentProperty =
        DependencyProperty.Register("VerticalContentAlignment", typeof(VerticalAlignment), typeof(Toast), new PropertyMetadata(VerticalAlignment.Center));
    
    private new double Width
    {
        get { return (double)GetValue(WidthProperty); }
        set { SetValue(WidthProperty, value); }
    }
    
    private new static readonly DependencyProperty WidthProperty =
        DependencyProperty.Register("Width", typeof(double), typeof(Toast), new PropertyMetadata(200.0));
    
    private new double Height
    {
        get { return (double)GetValue(HeightProperty); }
        set { SetValue(HeightProperty, value); }
    }
    
    private new static readonly DependencyProperty HeightProperty =
        DependencyProperty.Register("Height", typeof(double), typeof(Toast), new PropertyMetadata(48.0));
    
    private ToastIcons Icon
    {
        get { return (ToastIcons)GetValue(IconProperty); }
        set { SetValue(IconProperty, value); }
    }
    
    private static readonly DependencyProperty IconProperty =
        DependencyProperty.Register("Icon", typeof(ToastIcons), typeof(Toast), new PropertyMetadata(ToastIcons.None));
    
    private int Time
    {
        get { return (int)GetValue(TimeProperty); }
        set { SetValue(TimeProperty, value); }
    }
    
    private static readonly DependencyProperty TimeProperty =
        DependencyProperty.Register("Time", typeof(int), typeof(Toast), new PropertyMetadata(2000));
    
    private ToastLocation Location
    {
        get { return (ToastLocation)GetValue(LocationProperty); }
        set { SetValue(LocationProperty, value); }
    }
    
    private static readonly DependencyProperty LocationProperty =
        DependencyProperty.Register("Location", typeof(ToastLocation), typeof(Toast), new PropertyMetadata(ToastLocation.Default));
    

    暴露类方法Show和对象方法Close

    public static void Show(string msg, ToastOptions options = null)
    {
        var toast = new Toast(null, msg, options);
        int time = toast.Time;
        ShowToast(toast, time);
    }
    
    public static void Show(Window owner, string msg, ToastOptions options = null)
    {
        var toast = new Toast(owner, msg, options);
        int time = toast.Time;
        ShowToast(toast, time);
    }
    public void Close()
    {
        if (timer != null)
        {
            timer.Stop();
            timer = null;
        }
        popup.IsOpen = false;
        owner.LocationChanged -= UpdatePosition;
        owner.SizeChanged -= UpdatePosition;
    }
    

    重新计算位置

    private void UpdatePosition(object sender, EventArgs e)
    {
        var up = typeof(Popup).GetMethod("UpdatePosition", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
        if (up == null || popup == null)
        {
            return;
        }
        SetPopupOffset(popup, this);
        up.Invoke(popup, null);
    }
    

    XP下运行效果

    中间有个消失的,是我用鼠标点击了,实现单击事件和关闭事件
    在这里插入图片描述
    在这里插入图片描述
    再给你们来个那种某些装逼人士的任务栏
    在这里插入图片描述

    XP环境下底部始终有一个高度,暂不清楚是不是系统自身原因,win10无此BUG

    相关代码

    伸手党:下载地址

    展开全文
  • 作者bboylin,代码UniversalToast。 介绍:简洁优雅可点击的 toast 控件,仿手机百度 9.0,无 BadTokenException 风险。
  • Qt调用Android原生Toast控件示例,含源码,经过测试,百分之百能用
  • 简洁优雅可点击的toast控件,仿手机百度9.0,无BadTokenException风险。.zip,简洁优雅可点击的toast控件,无BadTokenException风险,关闭通知权限依然正常显示。An elegant and flexible toast which can handle ...
  • 简介:简洁优雅可点击的 toast 控件,仿手机百度 9.0,无 BadTokenException 风险。 更多:作者 提 Bug  标签:   UniversalToast:一个简洁优雅的 toast 组件,支持点击和 GIF&amp;安全 features ...

    UniversalToast

    项目地址:bboylin/UniversalToast 

    简介:简洁优雅可点击的 toast 控件,仿手机百度 9.0,无 BadTokenException 风险。

    更多:作者   提 Bug   

    标签:

     

    UniversalToast:一个简洁优雅的 toast 组件,支持点击和 GIF&安全

    features

    • 优雅 & 灵活
    • 可点击 & 可随意设置显示时长
    • 主动避免 android 7.0 使用 toast 可能出现的 BadTokenException
    • 关闭通知权限后依然可以正常弹出
    • 支持加载 GIF,让你的 toast 更生动

    Usages

    • step 1 : 添加依赖 ```gradle allprojects { repositories {
        ......
        maven { url 'https://jitpack.io' }
      
      } }

    dependencies { ...... implementation 'com.github.bboylin:UniversalToast:v1.0.9' // 请添加上 fresco 的依赖,可以把 fresco 版本替换成最新的 implementation 'com.facebook.fresco:fresco:1.10.0' implementation 'com.facebook.fresco:animated-gif:1.10.0' }

    
    * step 2 : api 类似原生 toast
    ```java
    UniversalToast.makeText(context, text, duration).show();
    UniversalToast.makeText(context, text, duration,type).show();
    

    duration 应该是UniversalToast.LENGTH_LONG 和UniversalToast.LENGTH_SHORT其中之一, type 应该是 UniversalToast.UNIVERSAL , UniversalToast.EMPHASIZE , UniversalToast.CLICKABLE 三者之一 , 未指定则默认为 UniversalToast.UNIVERSAL.

      

    从左到右依次为UNIVERSALEMPHASIZECLICKABLE样式的 toast,图标文字可设置。

    • 更多 API:

    设置 duration 和设置动画的方法被废弃掉了,因为:

    • 不建议自己修改 toast 显示时长
    • 在 android framework 里限制了 windowAnimations 必须是系统动画。
    //example
    UniversalToast.makeText(context, text, UniversalToast.LENGTH_SHORT, UniversalToast.CLICKABLE)
                  .setGravity(gravity,xOffset,yOffset)
                  .setBackground(drawable) // 设置背景
                  .setColor(R.color.my_color) // 设置背景色
                  .setLeftIconRes(R.drawable.my_ic) // 设置 icon,未调用的话 icon 不可见(gone)
                  .setLeftGifUri(uri) // 设置 gif 的 uri,设置后 setLeftIconRes 方法会失效,即优先展示 gif
                  .setClickCallback(text,R.drawable.my_btn,onClickListener) //设置点击 listener
                  .show();
    

    有三种默认的图标提供,用showSuccess(),showWarning() , showError()代替show()即可采用对应的图标。

      

    从左到右依次为 : showSuccess , showWarning , showError 的图标(这里只展示了EMPHASIZE类型的 toast,CLICKABLEUNIVERSAL亦可)

    注意:

    由于 Android 8.0 对悬浮窗权限的限制,使用可点击的 toast(即UniversalToast.CLICKABLE)必须允许悬浮窗权限:

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    

    关于如何动态申请权限请参考 demo。
    Android 8.0 以下无需悬浮窗权限。

    minSdkVersion>=14

    notice :

    如果你遇到 activity finish 的时候 toast cancel 出现 bug:

    请将此处你的 application context 改为 activity 的 context

    感谢 : ToastCompat

    更新:

    没想到有这么多人没用过 fresco。。。在 application 初始化的时候记得初始化 fresco:

    Fresco.initialize(ctx);
    

    不想引入 fresco 就把版本换成 1.0.8

    展开全文
  • appium-Toast控件识别

    2021-02-13 17:02:03
    Toast控件识别 使用xpath中class定位 def toast(self): #可以打印当前页面的dom树结构 print(self.driver.page_source) #查找toast方法一 self.driver.find_element(MobileBy.XPATH,"//*[@class='android....
  • iOS编写自定义控件系列教程,仿Android的Toast控件
  • Toast.MakeText(FirstActivity.this, "this is the first activity", Toast.LENGTH_SHORT).show(); 显示提示的Activity 提示的内容 提示的时间长短
  • Toast控件的应用

    2012-03-05 16:21:26
    一、Toast自定义显示位置效果   Toast toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();   ...
  • appium-toast控件识别

    2021-05-18 19:19:43
    Toast本身是个系统级别的控件,它归属于系统settings,当一个app发送消息的时候,不是自己造出来的这个弹框,它是发给系统,由系统统一进行弹框,这类的控件不在app内,需要特殊的控件识别方法 toast定位 appium...
  • 03-09 toast 控件识别

    2021-08-29 15:22:53
    toast 介绍 ...appium 使用 uiautomator 底层的机制来分析抓取 toast,并把 toast 放到控件树内,但本身并不属于控件 前置工作:设置 capabilities caps["automationName"] = "uiautomator2" # 默
  • 安卓快速实现dialog(toast)对错控件动画弹窗 博主做的教育类APP,教育类肯定有包含语数英,这些yingshi科目就有做题类型,自然就有相应的做题,校验做题答案需求,有校验判断就有对错之分,怎么比较好的反应并给用户...
  • Qt for Android调用android原生Toast控件

    千次阅读 2017-02-22 07:26:12
    用Qt开发Android应用,有时候会想着直接调用android原生的一些组件或者打开某些android的系统界面,比如调用Toast显示消息提醒、打开android系统设置页面。这里主要讲解如何通过Qt调用android原生的Toast来显示消息...
  • 带图片的Toast消息提示&单选列表项对话框&自定义View对话框
  • android 带颜色的Toast效果+Toast位置设置
  • Toast 什么是Toast? Toast是Android系统提供的轻量级信息提醒机制,用于向用户提示即时信息,他显示在应用程序界面的最上层,显示一段时间后自动消失不会打断当前操作,也不获得焦点,非常常用 基本使用方法...
  • 这篇文章演示编写android系统toast控件toast控件实用于项目中用来提示简单文字信息,实现代码如下:头文件内容:// // UIView+WHC_Toast.h // UIView+WHC_Toast // // Created by 吴海超 on 15/3/24. // Copyright...
  • 标题Android 开发(一):Toast弹窗与获取控件的值 本人也是刚接触Android开发,自己也在摸索中,在实现功能的过程中走了不少弯路,其中很重要的原因之一就是查询不到想要的内容,所以想把自己的经验分享出来。 主要...
  • Toast是一种非常方便的消息提示框,会在程序界面上显示一个简单的提示信息,过一段时间会自动消失。使用Toast的方法很简单,步骤如下: ①调用Toast的构造器或静态方法makeText()创建一个Toast对象。 ②调用Toast...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,070
精华内容 21,228
关键字:

toast控件