今天看到淘寶用戶端的某個頁面效果,效果是在兩個Activity中做動畫,為了知道究竟是不是在同一個Activity中做的效果,就必須采取一種手段來知道是不是同一個Activity.描述一下這個動畫效果:清單頁面點選圖檔,圖檔會滑動到下個頁面的頂部,這就涉及到一個問題,如何在兩個Activity之間做動畫?有什麼思路嗎?

有兩種實作方式:
第一種:自己手動寫一個程式,通過系統提供的函數來列印任務棧頂的Activity名稱來判斷是否是同一個Activity:
如下:
以下是清單頁的任務棧頂資訊:
以下是詳情頁的任務棧頂資訊:
很明顯,兩個頁面不是同一個Activity.
第二種:通過adb shell dumpsys activity指令:
使用cmd啟動adb shell:
E:\Android_Sdk\android-sdks\platform-tools>adb shell
shell@NX601J:/ $
使用指令dumpsys activity > taskinfo.txt 指令 将列印出的結果輸出到taskinfo.txt檔案中,友善導出到電腦檢視.
1.首先在磁盤的根目錄建立一個taskinfo.txt的檔案:
shell@NX601J:/storage/sdcard0 $ touch taskinfo.txt
2.然後通過指令将結果輸出到這個檔案中:
shell@NX601J:/storage/sdcard0 $ dumpsys activity > /storage/sdcard0/taskinfo.txt
指令執行完成檔案中就存入了各種任務資訊(隻截取了部分):
這個檔案中存儲了非常豐富的資訊:
ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)
ACTIVITY MANAGER CONTENT PROVIDERS (dumpsys activity providers)
ACTIVITY MANAGER SERVICES (dumpsys activity services)
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)
Historical broadcasts [background]:
Running activities (most recent first):
Recent tasks:
通過字面意思就可以知道是什麼吧?
找到我們想要的結果:
=================================================================
這樣,通過執行倆次同樣的操作就可以知道是否是同一個Activity了.
有什麼疑問的歡迎留言