2014-10-29 74 views

回答

5

創建一個自定義渲染器覆蓋整個屏幕上的BoxView。您可以根據自己的喜好定製色塊填充不透明度顯示相關內容

然後,您可以居中Xamarin.FormsActivityIndi​​cator在屏幕中間玩完同樣的效果。

注意 - 然而,目前在v1.2.3x沒有對Android的儘管BoxView中的存在一個bug,讓底層的控制仍然接收用戶輸入的事件,比如點擊一個按鈕, 頂上的一切

此問題在即將發佈的v1.3版本中明顯解決。

更新1

它不容易提取作爲一個更復雜的控制它的一部分,但它不是很難得到你的鏈接到類似的效果。

嘗試在你的頁面如下: -

使用電網爲基數(1行1列),並將其設置爲填滿整個屏幕,並設置行和列的定義, GridUnitType.Star

然後,您可以創建你的頁面內容,如正常的電網孩子,這個位置在細胞(0,0)

在接下來的部分(你可以把這個在控制渲染),以便它可以很容易地在多個頁面中重複使用。如果你不是舒服控制渲染,你總是可以創建一個函數返回一個電網對象然而,你可以在多個頁面中使用: -

  • 電網作爲基地

    • BoxView中的爲一體的電網

    • 孩子
    • ActivityIndi​​cator作爲的子網格。在細胞(0,0) -

一旦你從上面的電網結果,你也可以添加到您的網頁的電網根控制,這個位置再

然後,您可以控制此覆蓋面板在您的內容上的可見性。

你自然要設置的ActivityIndi​​catorIsRunning財產,只要你顯示/隱藏面板。只需創建一些方法,如ShowActivityIndi​​cator()HideActivityIndi​​cator()也許可以簡化這個。

+0

聽起來像一個很好的方法皮特。您是否碰巧有任何代碼顯示自定義渲染器的工作方式? – 2014-10-29 20:13:09

+1

我已經更新了我的答案(請參閱*更新1 *) – Pete 2014-10-29 20:45:17

+0

感謝您的皮特。 – 2014-10-29 20:51:34