B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 5|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

floatUIʵÀýÃëÏÔʾÃë¹Ø±ÕÍÂ˾¹¦ÄÜ

[¸´ÖÆÁ´½Ó]

1117

Ö÷Ìâ

1122

Ìû×Ó

7745

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7745
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

floatUIʵÀýÃëÏÔʾÃë¹Ø±ÕÍÂ˾¹¦ÄÜ
floatUIʵÀýÃëÏÔʾÃë¹Ø±ÕÍÂ˾¹¦ÄÜ B2BÍøÂçÈí¼þ

  1. /*
  2.    floatUIʵÀýÃëÏÔʾÃë¹Ø±ÕÍÂ˾¹¦ÄÜ v2 - AIWROKƽ̨רÓÃ
  3.    ÊµÏÖ¿ìËÙÏÔʾºÍ×Ô¶¯¹Ø±ÕµÄÐü¸¡´°ÌáʾЧ¹û
  4.    
  5.    ¹¦ÄÜÌØµã£º
  6.    - ºÁÃë¼¶ÏìÓ¦ËÙ¶È
  7.    - Ö§³Ö×Ô¶¨ÒåÏÔʾʱ³¤
  8.    - Ö§³Ö¶àÖÖÑùʽ£¨³É¹¦¡¢¾¯¸æ¡¢´íÎó¡¢ÐÅÏ¢£©
  9.    - Ö§³Ö¿ÉÍ϶¯¹¦ÄÜ
  10.    - ×Ô¶¯¹Ø±Õ
  11. */

  12. // ==================== ºËÐÄÍÂ˾Àà ====================
  13. function QuickToast() {
  14.     this.toast = null;
  15.     this.isShowing = false;
  16.     this.autoCloseTimer = null;
  17. }

  18. // ´´½¨ÍÂ˾½çÃæ
  19. QuickToast.prototype.create = function(message, type, duration, draggable) {
  20.     var self = this;
  21.    
  22.     // Èç¹ûÒÑÓÐÍÂ˾ÔÚÏÔʾ£¬ÏȹرÕ
  23.     if (this.isShowing && this.toast) {
  24.         this.close();
  25.     }
  26.    
  27.     // ´´½¨ÐµÄfloatUIʵÀý
  28.     this.toast = new floatUI();
  29.    
  30.     // ¸ù¾ÝÀàÐÍÉèÖÃÑÕÉ«
  31.     var bgColor, textColor, borderColor;
  32.     switch(type) {
  33.         case 'success':
  34.             bgColor = '#9028a14b';  // ÂÌÉ«±³¾°
  35.             textColor = '#ffffff';
  36.             borderColor = '#28a14b';
  37.             break;
  38.         case 'warning':
  39.             bgColor = '#90f39c12';  // ³ÈÉ«±³¾°
  40.             textColor = '#ffffff';
  41.             borderColor = '#f39c12';
  42.             break;
  43.         case 'error':
  44.             bgColor = '#90e74c3c';  // ºìÉ«±³¾°
  45.             textColor = '#ffffff';
  46.             borderColor = '#e74c3c';
  47.             break;
  48.         default:
  49.             bgColor = '#903498db';  // À¶É«±³¾°£¨Ä¬ÈÏ£©
  50.             textColor = '#ffffff';
  51.             borderColor = '#3498db';
  52.     }
  53.    
  54.     // ¼ÓÔØ¼ò½àµÄÍÂ˾²¼¾Ö£¨´øIDÓÃÓÚÍ϶¯£©
  55.     this.toast.loadXML(
  56.         '<LinearLayout id="toast_root" orientation="vertical" w="wrap_content" h="wrap_content" ' +
  57.         'background="' + bgColor + '" padding="15" gravity="center">' +
  58.         '  <TextView text="' + message + '" textColor="' + textColor + '" ' +
  59.         'textSize="16" layout_width="wrap_content" layout_height="wrap_content" ' +
  60.         'padding="10 5"/>' +
  61.         '</LinearLayout>'
  62.     );
  63.    
  64.     // ÉèÖóõʼλÖã¨ÆÁÄ»ÖÐÑëÆ«Ï£©
  65.     var screenWidth = screen.getScreenWidth();
  66.     var screenHeight = screen.getScreenHeight();
  67.     var x = (screenWidth - 300) / 2;
  68.     var y = screenHeight * 0.6;
  69.    
  70.     this.toast.setPosition(x, y);
  71.    
  72.     // Èç¹ûÆôÓÃÍ϶¯£¬ÉèÖô¥Ãþʼþ
  73.     if (draggable) {
  74.         this.enableDrag();
  75.     }
  76.    
  77.     this.isShowing = true;
  78.    
  79.     // ÉèÖÃ×Ô¶¯¹Ø±Õ¶¨Ê±Æ÷
  80.     if (duration && duration > 0) {
  81.         var self = this;
  82.         var dur = duration;
  83.         this.autoCloseTimer = setTimeout(function() {
  84.             self.close();
  85.         }, dur);
  86.     }
  87.    
  88.     return this;
  89. };

  90. // ÆôÓÃÍ϶¯¹¦ÄÜ
  91. QuickToast.prototype.enableDrag = function() {
  92.     var self = this;
  93.     var lastX = 0;
  94.     var lastY = 0;
  95.     var dragging = false;
  96.    
  97.     try {
  98.         // »ñÈ¡¸ùÊÓͼ£¨Í¨¹ýID£©
  99.         var rootView = this.toast.findViewById('toast_root');
  100.         if (!rootView) {
  101.             printl("⚠️ ÎÞ·¨»ñÈ¡¸ùÊÓͼ£¬Í϶¯¹¦Äܲ»¿ÉÓÃ");
  102.             return;
  103.         }
  104.         
  105.         // ¶¨Òå´¥Ãþʼþ³£Á¿£¨Èç¹ûViewºÍMotionEvent²»´æÔÚ£©
  106.         var ACTION_DOWN = (typeof MotionEvent !== 'undefined') ? MotionEvent.ACTION_DOWN : 0;
  107.         var ACTION_MOVE = (typeof MotionEvent !== 'undefined') ? MotionEvent.ACTION_MOVE : 2;
  108.         var ACTION_UP = (typeof MotionEvent !== 'undefined') ? MotionEvent.ACTION_UP : 1;
  109.         
  110.         printl("✅ ×¼±¸ÆôÓÃÍ϶¯¹¦ÄÜ...");
  111.         
  112.         // ÉèÖô¥Ãþ¼àÌýÆ÷
  113.         rootView.setOnTouchListener(new android.view.View.OnTouchListener({
  114.             onTouch: function(view, event) {
  115.                 try {
  116.                     var action = event.getAction();
  117.                     
  118.                     if (action === ACTION_DOWN) {
  119.                         dragging = true;
  120.                         lastX = event.getRawX();
  121.                         lastY = event.getRawY();
  122.                         return true;
  123.                     } else if (action === ACTION_MOVE && dragging) {
  124.                         var dx = event.getRawX() - lastX;
  125.                         var dy = event.getRawY() - lastY;
  126.                         
  127.                         // »ñÈ¡µ±Ç°Î»ÖÃ
  128.                         var currentPos = self.toast.getPosition();
  129.                         var newX = currentPos.x + dx;
  130.                         var newY = currentPos.y + dy;
  131.                         
  132.                         // ±ß½ç¼ì²é
  133.                         var screenWidth = screen.getScreenWidth();
  134.                         var screenHeight = screen.getScreenHeight();
  135.                         if (newX < 0) newX = 0;
  136.                         if (newY < 0) newY = 0;
  137.                         if (newX > screenWidth - 200) newX = screenWidth - 200;
  138.                         if (newY > screenHeight - 100) newY = screenHeight - 100;
  139.                         
  140.                         // ÉèÖÃÐÂλÖÃ
  141.                         self.toast.setPosition(newX, newY);
  142.                         
  143.                         // ¸üÐÂÉϴδ¥ÃþλÖÃ
  144.                         lastX = event.getRawX();
  145.                         lastY = event.getRawY();
  146.                         return true;
  147.                     } else if (action === ACTION_UP) {
  148.                         dragging = false;
  149.                         return true;
  150.                     }
  151.                 } catch(e) {
  152.                     // ¾²Ä¬´¦Àí´íÎó
  153.                 }
  154.                 return false;
  155.             }
  156.         }));
  157.         
  158.         printl("✅ Í϶¯¹¦ÄÜÒÑÆôÓÃ");
  159.     } catch(e) {
  160.         printl("⚠️ ÆôÓÃÍ϶¯¹¦ÄÜʧ°Ü: " + e);
  161.     }
  162. };

  163. // ¹Ø±ÕÍÂ˾
  164. QuickToast.prototype.close = function() {
  165.     if (this.toast && this.isShowing) {
  166.         var self = this;
  167.         try {
  168.             self.toast.close();
  169.         } catch(e) {
  170.             printl("¹Ø±ÕÍÂ˾ʱ³ö´í: " + e);
  171.         }
  172.         self.isShowing = false;
  173.         self.toast = null;
  174.         self.autoCloseTimer = null;
  175.     }
  176. };

  177. // ==================== ±ã½Ýº¯Êý ====================

  178. // ÏÔʾ³É¹¦Ìáʾ
  179. function showSuccess(message, duration) {
  180.     var toast = new QuickToast();
  181.     toast.create(message || '²Ù×÷³É¹¦', 'success', duration || 1500);
  182.     return toast;
  183. }

  184. // ÏÔʾ¾¯¸æÌáʾ
  185. function showWarning(message, duration) {
  186.     var toast = new QuickToast();
  187.     toast.create(message || 'Çë×¢Òâ', 'warning', duration || 2000);
  188.     return toast;
  189. }

  190. // ÏÔʾ´íÎóÌáʾ
  191. function showError(message, duration) {
  192.     var toast = new QuickToast();
  193.     toast.create(message || '²Ù×÷ʧ°Ü', 'error', duration || 2500);
  194.     return toast;
  195. }

  196. // ÏÔʾÐÅÏ¢Ìáʾ
  197. function showInfo(message, duration) {
  198.     var toast = new QuickToast();
  199.     toast.create(message || 'ÌáʾÐÅÏ¢', 'info', duration || 1500);
  200.     return toast;
  201. }

  202. // ¼«ËÙÏÔʾ£¨500ms×Ô¶¯¹Ø±Õ£©
  203. function quickShow(message) {
  204.     var toast = new QuickToast();
  205.     toast.create(message || '', 'info', 500);
  206.     return toast;
  207. }

  208. // ==================== ʹÓÃʾÀý ====================

  209. printl("========== ÃëÏÔʾÃë¹Ø±ÕÍÂ˾¹¦ÄÜÑÝʾ v2 ==========");
  210. printl("Ìáʾ£º³¢ÊÔÍ϶¯±ê¼ÇΪ¿ÉÍ϶¯µÄÍÂ˾\n");

  211. // ʾÀý1£º»ù´¡¿ÉÍ϶¯ÍÂ˾
  212. printl("¡¾Ê¾Àý1¡¿¿ÉÍ϶¯µÄ»ù´¡Ìáʾ£¨2Ãëºó×Ô¶¯¹Ø±Õ£©");
  213. var t1 = new QuickToast();
  214. t1.create("ÎÒ¿ÉÒÔÍ϶¯Å¶£¡", 'info', 2000, true);
  215. sleep.second(Ãë=3);

  216. // ʾÀý2£º³É¹¦Ìáʾ
  217. printl("\n¡¾Ê¾Àý2¡¿³É¹¦Ìáʾ");
  218. var t2 = showSuccess("²Ù×÷³É¹¦£¡");
  219. sleep.second(Ãë=2);

  220. // ʾÀý3£º¾¯¸æÌáʾ
  221. printl("\n¡¾Ê¾Àý3¡¿¾¯¸æÌáʾ");
  222. var t3 = showWarning("Çë×¢Òⰲȫ", 2000);
  223. sleep.second(Ãë=2.5);

  224. // ʾÀý4£º´íÎóÌáʾ
  225. printl("\n¡¾Ê¾Àý4¡¿´íÎóÌáʾ");
  226. var t4 = showError("ÍøÂçÁ¬½Óʧ°Ü");
  227. sleep.second(Ãë=3);

  228. // ʾÀý5£º³¤Îı¾Ìáʾ£¨¿ÉÍ϶¯£©
  229. printl("\n¡¾Ê¾Àý5¡¿³¤Îı¾¿ÉÍ϶¯Ìáʾ");
  230. var t5 = new QuickToast();
  231. t5.create("ÕâÊÇÒ»¸öºÜ³¤µÄÌáʾÐÅÏ¢£¬Äã¿ÉÒÔÍ϶¯ÎÒµ½ÈκÎλÖã¡ÊÔÊÔ¿´°É~", 'warning', 3000, true);
  232. sleep.second(Ãë=4);

  233. printl("\n========== ÑÝʾ½áÊø ==========");
  234. printl("\nʹÓÃ˵Ã÷£º");
  235. printl("1. quickShow('ÏûÏ¢') - ¿ìËÙÏÔʾ500ms");
  236. printl("2. showSuccess('ÏûÏ¢', ʱ³¤ms) - ³É¹¦Ìáʾ");
  237. printl("3. showWarning('ÏûÏ¢', ʱ³¤ms) - ¾¯¸æÌáʾ");
  238. printl("4. showError('ÏûÏ¢', ʱ³¤ms) - ´íÎóÌáʾ");
  239. printl("5. showInfo('ÏûÏ¢', ʱ³¤ms) - ÐÅÏ¢Ìáʾ");
  240. printl("6. ×Ô¶¨Ò壺new QuickToast().create('ÏûÏ¢', 'ÀàÐÍ', ʱ³¤ms, ÊÇ·ñ¿ÉÍ϶¯)");
  241. printl("\nÀàÐͲÎÊý£º'success', 'warning', 'error', 'info'");
  242. printl("Í϶¯²ÎÊý£ºtrue=¿ÉÍ϶¯£¬false»ò²»´«=²»¿ÉÍ϶¯");

  243. /*
  244. ================ ¹¦ÄÜ˵Ã÷ ================

  245. Õâ¸ö½Å±¾ÊµÏÖÁËÒ»¸ö¿ìËÙÏÔʾ¡¢×Ô¶¯¹Ø±ÕµÄ¿ÉÍ϶¯ÍÂ˾Ìáʾϵͳ£¬×¨ÎªAIWROKƽ̨Éè¼Æ¡£ËüÌṩÁËËÄÖÖÔ¤ÉèÑùʽ£¨ÂÌÉ«³É¹¦¡¢³ÈÉ«¾¯¸æ¡¢ºìÉ«´íÎó¡¢À¶É«ÐÅÏ¢£©£¬Ö§³Ö×Ô¶¨ÒåÏÔʾʱ³¤£¨½¨Òé500-3000ºÁÃ룩£¬²¢¿ÉÑ¡ÆôÓô¥ÃþÍ϶¯¹¦ÄÜÈÃÓû§ÓÃÊÖÖ¸×ÔÓÉÒÆ¶¯Ìáʾ¿òµ½ÆÁÄ»ÈÎÒâλÖ᣺ËÐÄÌØÐÔ°üÀ¨£ººÁÃë¼¶ÏìÓ¦ËÙ¶È¡¢ÐÂÌáʾ×Ô¶¯¸²¸Ç¾ÉÌáʾ¡¢×Ô¶¯±ß½ç¼ì²â·ÀÖ¹ÍϳöÆÁÄ»¡¢Ìṩ±ã½ÝµÄµ÷Óú¯ÊýÈçshowSuccessÏÔʾ³É¹¦Ìáʾ¡¢showWarningÏÔʾ¾¯¸æÌáʾµÈ¡£ÊÊÓÃÓÚ×Ô¶¯»¯½Å±¾ÖеIJÙ×÷·´À¡¡¢×´Ì¬Ìáʾ¡¢¾¯¸æÌáÐÑ¡¢ÁÙʱ֪ͨµÈ³¡¾°£¬ÈÃÓû§ÌåÑé¸ü¼ÓÓѺúÍÖ±¹Û¡£

  246. =========================================
  247. */
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-6-18 08:38 , Processed in 0.158458 second(s), 35 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí