2016-11-29 13 views
5

私は単純なリストビューとコンテキストメニューを持つアプリを持っています。 は7事前アンドロイド、すべてがOKになります。Android 7でContextMenuの位置がぼやけている

リストの一番下にある項目をクリック: enter image description here

リストの一番上にある項目をクリック: enter image description here

しかし、ウィットアンドロイド7 ...

リストの一番下にある項目をクリック: enter image description here

リストの先頭にある項目をクリックすると、 enter image description here

コンテキストメニューの位置に変更はありましたか?

+3

OSのバグのようです。 [設定]> [端末について]の[ビルド番号]の値は? – alanv

+0

このコンテキストメニューはどのように表示されますか?コードを投稿できますか? – g4s8

+1

アンドロイドへようこそ! – sector11

答えて

7

私はどこかの解決策を見つけました(どこを覚えていないか)。 問題は新しいコンテキストメニューとHoloテーマの間にあります。

ソリューションの詳細:

<resources> 

<style name="ContextPopupMenuStyleLight" parent="@android:style/Widget.Holo.Light.PopupMenu"> 
    <item name="android:overlapAnchor">true</item> 
</style> 

<style name="ContextPopupMenuStyleDark" parent="@android:style/Widget.Holo.PopupMenu"> 
    <item name="android:overlapAnchor">true</item> 
</style> 

<style name="AppTheme" parent="AppTheme.Common" > 
    <item name="android:contextPopupMenuStyle">@style/ContextPopupMenuStyleLight</item> 
</style> 

その後、私のデフォルトのstyles.xmlに私はと呼ばれるスタイルを使用:

は、私は次のようになります値-V24フォルダ内のスタイルを追加しました

AppTheme.Common 

これは、すべてのmyアプリスタイルと空のスタイルは、

<style name="AppTheme" parent="AppTheme.Common" /> 

と呼ばれ、デフォルトのアプリスタイルとしてこの空のスタイルを使用しました。 このように、バージョン> 24では、アプリケーションはコンテキストメニューオーバーラップアンカーに関するこの余分な項目を使用して問題を修正します(コンテキストメニューをAPI 24の前に表示します)。

関連する問題