2016-11-29 20 views
5

Mam aplikację z prostym menu listview i menu kontekstowego. pre android 7, wszystko wygląda ok:Pozycja menu kontekstowego jest pomieszana w systemie Android 7

po kliknięciu elementu na końcu listy: enter image description here

po kliknięciu elementu na szczycie listy: enter image description here

Ale dowcip android 7 ...

po kliknięciu elementu na końcu listy: enter image description here

po kliknięciu elementu na górze listy: enter image description here

Czy nastąpiła jakakolwiek zmiana pozycji menu kontekstowego?

+3

Wygląda jak błąd systemu operacyjnego. Jaka jest wartość "Numer kompilacji" w Ustawieniach> Informacje o telefonie? – alanv

+0

Jak wyświetlić to menu kontekstowe? Czy możesz napisać kod? – g4s8

+1

witamy na Androidzie! – sector11

Odpowiedz

7

Znalazłem rozwiązanie do tego gdzieś (nie pamiętam gdzie). Problem dotyczy nowego menu kontekstowego i tematów Holo.

Rozwiązanie Szczegóły:

dodałem styl w folderze Wartości-V24, który wygląda tak:

<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> 

Następnie w moim domyślnym styles.xml użyłem styl zwany

AppTheme.Common 

Który definiuje wszystkie moje styl aplikacji i pusty styl o nazwie

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

i użyłem tego pustego stylu jako domyślnego stylu aplikacji. W ten sposób, w wersji> 24, aplikacja używa tego dodatkowego elementu do zakotwiczenia zakładki menu kontekstowego, aby naprawić problem (przynosząc menu kontekstowe do tego, jak wyglądały przed API 24).

Powiązane problemy