一種一勞永逸的全局適配方式git
320x480
github
1.更改配置的 ViewConfiguration 的size和devicePixelRatio (ViewConfiguration 這個類再 RenderView 裏賦值,而RenderView是 renderObject樹的根,在佈局和繪製的過程當中,會根據ViewConfiguration的值來作由父向子的佈局繪製操做)
2.PointerDataPacket 從引擎衝過來的事件,默認採用的是 系統的devicePixelRatio ,這裏就須要適用咱們的值 複寫 initInstances() 內部 ui.window.onPointerDataPacket=_handlePointerDataPacket 賦值如下bash
void _handlePointerDataPacket(ui.PointerDataPacket packet) {
_pendingPointerEvents.addAll(PointerEventConverter.expand(
packet.data,
// 適配事件的轉換比率,採用咱們修改的
getAdapterRatio()));
if (!locked) _flushPointerEventQueue();
}
複製代碼