Android : 我的 PopupWindow 的背景是透明的
Android : My PopupWindow's background is transparent
我创建了一个这样的 PopupWindow :
PopupWindow popupWindow = new PopupWindow(LayoutInflater.from(this).inflate(R.layout.main_popup_navigation, null, false), ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setWidth((int) this.getResources().getDimension(R.dimen.navigation_popup_width));
popupWindow.showAsDropDown(toolbar);
它工作正常,除了它没有任何背景。弹出窗口的背景是完全透明的。
如何设置类似于 ThemeOverlay.AppCompat.Light 主题的 PopupMenu 或 Spinner 的背景(window + 阴影)?谢谢。
旋转器类型背景
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#CABBBBBB"/>
<corners android:radius="2dp" />
</shape>
</item>
<item
android:left="0dp"
android:right="0dp"
android:top="0dp"
android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="2dp" />
</shape>
</item>
</layer-list>
设置背景
popupWindow.setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.spinner_background));
MainActivity.java
popupWindow.setBackgroundDrawable(this.getDrawable(R.drawable.main_bg_navigation));
popupWindow.setElevation(43);
main_bg_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="2dp"/>
</shape>
成功了。 :)
编辑 : 白色值为"fffafafa"
我创建了一个这样的 PopupWindow :
PopupWindow popupWindow = new PopupWindow(LayoutInflater.from(this).inflate(R.layout.main_popup_navigation, null, false), ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setWidth((int) this.getResources().getDimension(R.dimen.navigation_popup_width));
popupWindow.showAsDropDown(toolbar);
它工作正常,除了它没有任何背景。弹出窗口的背景是完全透明的。
如何设置类似于 ThemeOverlay.AppCompat.Light 主题的 PopupMenu 或 Spinner 的背景(window + 阴影)?谢谢。
旋转器类型背景
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#CABBBBBB"/>
<corners android:radius="2dp" />
</shape>
</item>
<item
android:left="0dp"
android:right="0dp"
android:top="0dp"
android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="2dp" />
</shape>
</item>
</layer-list>
设置背景
popupWindow.setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.spinner_background));
MainActivity.java
popupWindow.setBackgroundDrawable(this.getDrawable(R.drawable.main_bg_navigation));
popupWindow.setElevation(43);
main_bg_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="2dp"/>
</shape>
成功了。 :)
编辑 : 白色值为"fffafafa"