2012-12-28 25 views
0

我實施了自定義ActionProvider,與ShareActionProvider不同。然而,它有點寬,因爲我包含了一個ShareActionProvider中不存在的文本標籤。當操作欄狹窄時,我的自定義ActionView/ActionProvider如何得到通知?

我注意到,定期行動項目(與SHOW_AS_ACTION_IF_ROOMSHOW_AS_ACTION_WITH_TEXT)顯示爲只是圖標當在縱向配置,並與景觀配置在我的Galaxy Nexus手機的操作欄中的標籤圖標。我認爲在不同的配置下,這種情況可能會有所不同。 我的自定義添加標籤的意圖是相同的。

我如何可以檢查代碼,如果我ActionProvider,更具體地說我的等值ActivityChooserView的,應顯示標籤或不有什麼可以面向未來的方式來獲得這種知識,可能主要在ActionMenuPresenter?我可以採用任何安全快捷方式,例如只是檢查縱向或橫向?或者可以以某種方式通知它?


作爲獎金問題,在SHOW_AS_ACTION_IF_ROOM似乎立足本身的行動項目的數量,而不是它們的寬度。由於任何ActionProvider視圖已經非常廣泛,它不會留下標題空間,但其他操作項目(與SHOW_AS_ACTION_IF_ROOM)不會移動到溢出菜單。即使在某些設備上,我的自定義ActionProvider也會略大於寬度的50%,但我認爲這是ActionMenuPresenter中的規則?我怎樣才能變得更好,但仍然是動態的,控制着這個(高水平)?

回答

0

嗯,看來我也許能在ActionMenuItemView使用mAllowTextWithIcon(https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/view/menu/ActionMenuItemView.java )並複製AOSP的配置資源結構。