2017-12-18 34 views
0

私は最低限のAPIレベル14(4.1.0)を持つデプロイされたアプリケーションを持っています。 は、私が16(4.4.2)アクションバーの悪いレイアウト

私は次のようになります持ってアクションバーのAPIと開発:

enter image description here

をしかし、私は、ユーザー(4.1と1で接触させました(アクションアイコン)は、標準のメニュー要素(アイコン/ actionLayout)を使用しています。 さらに、このレイアウトは、前のメニュー/アクションバー項目をテーピングするときにユーザーの要求に応じて表示されます。アクションバーは、invalidateOptionsMenu()で既存のものを無効にすることによって表示されます。

MenuInflater inflater = getMenuInflater(); 
inflater.inflate(iMenuResource, menu); 

これは既知の問題です:

メニュー

はその後経て膨張されますか? 回避策はありますか?私は誰かがここに助けることができることを願っています

...問題の


ソースが発見されているようです。

バーの2番目のアイコンは、特別な動作をするカスタムコントロールです。外見上正しくonMeasureを処理しても、要求されたサイズよりはるかに大きな幅の値が渡されます。

これは96dpを要求しますが、まだアクションバーの幅を受け取ります。 これはandroid 4.1.2の質問ですか?

答えて

0

問題は4.1.2以降で発生するため、解決方法は単に最大幅をonMeasureにすることです。

これはやや妥当な回避策であるように見えますが、これは私が思いついた最高のものです。

関連する問題