示例#1
0
 public void ClearMsg(AppMsg appMsg)
 {
     if (msgQueue.Contains(appMsg))
     {
         RemoveMessages(MessageRemove);
         msgQueue.ToList().Remove(appMsg);
         RemoveMsg(appMsg);
     }
 }
示例#2
0
 public void Add(AppMsg appMsg)
 {
     msgQueue.Enqueue(appMsg);
     if (inAnimation == null)
     {
         inAnimation = AnimationUtils.LoadAnimation(appMsg.Activity,
             Android.Resource.Animation.FadeIn);
     }
     if (outAnimation == null)
     {
         outAnimation = AnimationUtils.LoadAnimation(appMsg.Activity,
             Android.Resource.Animation.FadeOut);
     }
     DisplayMsg();
 }
示例#3
0
文件: AppMsg.cs 项目: wnf0000/AppMsg
        private static AppMsg MakeText(Activity context, string text, Style style, View view, bool floating)
        {
            var result = new AppMsg(context);

            view.SetBackgroundResource(style.Background);

            var tv = (TextView)view.FindViewById(Android.Resource.Id.Message);
            tv.Text = text;

            result.View = view;
            result.Duration = style.Duration;
            result.SetFloating(floating);

            return result;
        }
示例#4
0
 public OutAnimationListener(AppMsg appMsg)
 {
     this.appMsg = appMsg;
 }
示例#5
0
        private void RemoveMsg(AppMsg appMsg)
        {
            var parent = ((ViewGroup) appMsg.View.Parent);
            if (parent != null)
            {
                outAnimation.SetAnimationListener(new OutAnimationListener(appMsg));
                appMsg.View.StartAnimation(outAnimation);

                msgQueue.Dequeue();
                if (appMsg.IsFloating)
                {
                    parent.RemoveView(appMsg.View);
                }
                else
                {
                    appMsg.View.Visibility = ViewStates.Invisible;
                }

                Message msg = ObtainMessage(MessageDisplay);
                SendMessage(msg);
            }
        }
示例#6
0
        private void AddMsgToView(AppMsg appMsg)
        {
            View view = appMsg.View;

            if (view.Parent == null)
            {
                appMsg.Activity.AddContentView(
                    view,
                    appMsg.LayoutParams);
            }
            view.StartAnimation(inAnimation);

            if (view.Visibility != ViewStates.Visible)
            {
                view.Visibility = ViewStates.Visible;
            }
            var msg = ObtainMessage(MessageRemove);
            msg.Obj = appMsg;
            SendMessageDelayed(msg, appMsg.Duration);
        }