listPopupWindowStyle
속성을 덮어 써야합니다.
외형은 Theme.Holo.Light
입니다.
<style name="MyListPopupWindowStyle" parent="@android:style/Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@drawable/list_popup_background</item>
</style>
다음, 드로어 블 list_popup_background
를 작성하고 당신은 할 수 있습니다 :
이
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
....
<item name="android:listPopupWindowStyle">@style/MyListPopupWindowStyle</item>
</style>
지금과 같은 MyListPopupWindowStyle
을 정의하여 기본 테마에 이것을 추가합니다.
출력 : 그런데
![enter image description here](https://i.stack.imgur.com/3ywMA.png)
, 스크린 샷 위, 나는 배경으로 ColorDrawable을 사용했다. 그래서 모서리가 둥글지 않고 그림자가 생기지 않습니다. 이를 위해서는 안드로이드가 사용하는 것과 유사한 9 패치 드로어 블을 생성해야합니다. 모양은 다음과 같습니다
![enter image description here](https://i.stack.imgur.com/V70sl.png)
내 ColorDrawable는 다음과 같이 정의했다 :
<drawable name="list_popup_background">#33ffffff</drawable>
일부 추가 정보를 :
이
안드로이드 자체가 ListPopupWindow의 배경에 대한 상태 선택 드로어 블을 사용합니다. 비슷한 무언가를 정의하는 것은 좋은 생각이 될 수 있습니다
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_above_anchor="true" android:drawable="@android:drawable/menu_popup_panel_holo_light" />
<item android:drawable="@android:drawable/menu_dropdown_panel_holo_light" />
: state_above_anchor
& state_below_anchor
(기본적으로 도달) : 선택기는 두 가지 상태를 정의합니다.
이 역시 관심이 있습니다. – m02ph3u5