2012-02-29 43 views
0

我有一個使用佈局和RemoteViews的工作窗口小部件,並且很好地將其本身擴展到分配給它的任何主屏幕區域。但是,我需要顯示自定義字體,因此必須使用明確的位圖重新實現,這就是問題的起點,計算位圖大小最終會成爲一個棘手的問題。如何計算應用小部件位圖大小?

什麼是好的公式來計算像素的窗口小部件的位圖的大小,因爲這些 值的函數(和其他任何可用和有用):

  1. 主屏幕中的行數(R)和分配給小部件的列(C)。 (我從這些值中獲取widget_info.xml中的最小/最大值)。
  2. 顯示指標(屏幕大小,DPI,密度(d)等)
  3. 電流方向(O)
  4. Android版本(V)

的目標不僅僅是找到一個安全的大小但也不會浪費屏幕房地產。

回答

0

只需在您的Widget的父級佈局上調用getWidthgetHeight即可。在小部件繪製完成後,這些值將被填充,您將知道小部件的確切大小。

+0

這是一個應用小部件,我如何訪問小部件的父佈局? RemoteViews是否支持它? – user1139880 2012-02-29 05:56:50

+0

應用程序小部件不使用layout.xml文件嗎? – slayton 2012-02-29 15:20:32

+0

他們這樣做,但他們充氣到RemoteViews,而不是查看。 RemoteViews具有View功能的一個子集。 – user1139880 2012-02-29 20:36:50