• <menuitem id="bx3i8"><strong id="bx3i8"><u id="bx3i8"></u></strong></menuitem><b id="bx3i8"></b>
  • <progress id="bx3i8"><bdo id="bx3i8"></bdo></progress>

    <progress id="bx3i8"><bdo id="bx3i8"></bdo></progress>
    <menuitem id="bx3i8"><strong id="bx3i8"></strong></menuitem>
  • <menuitem id="bx3i8"><ins id="bx3i8"></ins></menuitem>
    <progress id="bx3i8"><bdo id="bx3i8"></bdo></progress>
  • <progress id="bx3i8"><bdo id="bx3i8"></bdo></progress>

    1. <progress id="bx3i8"></progress>

      如何制作一個手機桌面寵物?

      知乎,中文互聯網高質量的問答社區和創作者聚集的原創內容平臺,于 2011 年 1 月正式上線,以「讓人們更好的分享知識、經驗和見解,找到自己的解答」為品牌使命。知乎憑借認真、專業、友善的社區氛圍、獨特的產品機制以及結構化和易獲得的優質內容,聚集了中文互聯網科技、商業、影視、時尚、文化等領域最具創造力的人群,已成為綜合性、全品類、在諸多領域具有關鍵影響力的知識分享社區和創作者聚集的原創內容平臺,建立起了以社區驅動的內容變現商業模式。

       

      iOS目前-20180209來說,桌面寵物是不可能實現的;

      Android上面是可以實現的,那么我們就請出知乎的吉祥物 ->

      @劉看山 :

      1.顯示

      Android上在桌面上顯示懸浮,大體上用的就是Service+WindowManager;

      新建一個Service,添加一個WindowManager,設定好布局;

      WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; params.format = PixelFormat.RGBA_8888; params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; params.width = petW; params.height = petW; params.x = 0; params.y = 0; elfView.setVisibility(VISIBLE); wm.addView(elfView, params);

      劉看山就出現在了桌面上;

      2,移動

      按照原來在Windows上的經驗,一個桌寵,最起碼的標準是,拖來拖去,走鬧跑跳;

      而讓懸浮體移動,簡單來說只要重新設定坐標軸,更新窗口即可;

      params.x =dx; params.y = dy; wm.updateViewLayout(elfView, params);

      那么,添加上拖拽動畫后

      0

      當然,拖拽代碼是全網通用的TouchListener拖拽;

      case MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); paramX = params.x; paramY = params.y; break; case MotionEvent.ACTION_MOVE: dx = (int) event.getRawX() - lastX; dy = (int) event.getRawY() - lastY; params.x = paramX + dx; params.y = paramY + dy; wm.updateViewLayout(elfView, params); break;

      同理,走路就是新開一個線程,做出出動畫的同時,對坐標進行操作;

      貼上一個劉看山走路+玩耍的視頻吧:

      0

      3,進階互動

      這里我用的是14年左右,手機360的一個動畫效果;

      把360的那個小人拉上一個彈弓,發射出去清理緩存那個;

      說白了,就是拖拽和移動的結合,捎帶一點view的基礎動畫;

      0

      當時我還沒畢業;

      被一個創業公司拉去做苦力;

      一個月給1800塊;

      cto玩手機看見了這個東西;

      和我開玩笑說“來,我要這個效果”

      我說“你給我一個月1萬塊我就做”

      cto說“你要能做出來,我給你一個月一萬”

      一個月掙1萬,大概是上大學時候的我的人生目標吧;

      真懷念那時候;

      不像現在,Android變成了過氣行業;

      人生目標變成了不失業-頭;

      放一個bug:

      0

      照例,我在知乎上弄的效果都是開源的,如果對源碼感興趣的同學,可以到

      wuyongxiang/ScreenElf?github.com/wuyongxiang/ScreenElf

      下載,自己添加功能玩;

      如果只想下載劉看山玩玩,可以點這個下載,注意要在手機系統應用設置中,找到ScreenElf,允許開啟懸浮窗,要不然什么都看不見

      /**

      注意,因為應用根本沒寫界面,所以看起來像是閃退,所以一定要經過截圖那三個步驟,因為Android手機現在默認就是不容許應用開懸浮的;

      **/

      歡迎大家積極給贊+star

      其他在知乎上放的Android效果源碼:

      如何用代碼畫出一只齒輪?

      QQ 未讀消息的拖拽動態效果是如何實現的?

      QQ上發送么么噠時候,彈出彈跳表情,是如何實現的?

      一個人可以 DIY 出什么有意思的東西?

      知乎網頁登錄背景的動畫是怎么做出來的?

      祥子:【Android源碼分享】一個果凍質感彈性控件&高仿MIUI9時鐘表盤

      祥子:如何用安卓手機當做遙控器控制家里的非智能電器?

      鄭重聲明:部分文章來源于網絡,僅作為參考,如果網站中圖片和文字侵犯了您的版權,請聯系我們處理!

      為您推薦

      中国的老人与老人的视频