簡體   English   中英

有沒有辦法在Chrome操作系統上以浮動模式順利更新窗口大小

[英]Is there a way to smoothly update window size in floating mode on Chrome OS

因此,基本上,我需要從已經運行的Activity中更新當前的浮動窗口范圍(寬度,高度,甚至位置)。 我需要它來從一個屏幕平穩過渡到另一個屏幕。 有推薦的方法嗎?

謝謝

如果要對通用視圖的過渡進行動畫處理,則應考慮到只有在有足夠的預留視覺空間來執行它們的情況下,所有動畫才可以按預期工作。 如果沒有足夠的視覺空間,則動畫/過渡會變得緩慢/緩慢,因為應在每個動畫幀處更改一個或多個邊界。

浮動窗口(通常)的“視圖”邊界設置為您所看到的完全,並且不再保留任何可視空間以將其調整為更大的尺寸。 因此,“ RootView.animate()。scaleXby(2f)”方法無法按預期工作。

相反由於較大的尺寸是RootView的初始尺寸,因此您可以成功地對尺寸減小進行動畫處理,因此可以調用“ RootView.animate()。scaleXby(0.5f)...”來減小尺寸,而無需進行任何設置問題。 唯一的問題是新大小的浮動窗口周圍將保留透明空間。 要解決此問題:在動畫結束時,您可以計算大小差異並執行“臟” LayoutParams更新,以根據新尺寸調整浮動窗口的大小。

因此,最好的解決方案(將其放大或縮小)是:

  1. 浮動窗口應作為其父對象包含在一個透明ViewGroup中
  2. 將該透明ViewGroup設置為全屏尺寸,然后將內容(您確實要調整大小的部分)移動到之前的相同坐標
  3. 做所有動畫/調整大小的東西/程序
  4. 當動畫/調整大小完成時...
  5. ...將透明ViewGroup設置為新的大小/坐標,然后...
  6. ...設置內容寬度/高度以匹配其父級(即透明ViewGroup)

(在初始階段和最后階段可能會出現小的閃爍效果,但這是我們需要付出的很小的代價)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM