VIEw child = getLayoutInflater().inflate(R.layout.contextual_menu_lp_activity,null) child.setBackgroundcolor(getResources().getcolor(R.color.transparent));child.setBackgroundDrawable(new BitmapDrawable());popup = new PopupWindow(MapVIEwActivity.this);popup.setContentVIEw(child);popup.showAtLocation(MapVIEwActivity.mapVIEw,Gravity.CENTER,10,10); popup.setBackgroundDrawable(new BitmapDrawable()); child.measure(VIEw.MeasureSpec.UnspecIFIED,VIEw.MeasureSpec.UnspecIFIED); popup.update(50,50,child.getMeasureDWIDth(),child.getMeasuredHeight());
正如您所看到的,我设置了视图,并拼命尝试使其背景透明.
在xml布局上,所有相对布局都被赋予透明的颜色背景.
这是xml:
<?xml version="1.0" enCoding="utf-8"?><relativeLayoutxmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:orIEntation="vertical"androID:background="@color/transparent" ><relativeLayout androID:ID="@+ID/ivDialogPopup" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerInParent="true" androID:paddingBottom="40dp" androID:background="@drawable/new_pop_up_bk" ><button androID:ID="@+ID/btlivePolice" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_toleftOf="@+ID/btSaveParkingLocation" androID:layout_marginRight="4dp" androID:layout_margintop="8dp" androID:background="@drawable/live_police_button_popup" /><button androID:ID="@+ID/btSaveParkingLocation" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParenttop="true" androID:layout_margintop="8dp" androID:layout_centerHorizontal="true" androID:background="@drawable/parking_location_button" /><button androID:ID="@+ID/btGetDirections" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="4dp" androID:layout_margintop="8dp" androID:layout_toRightOf="@+ID/btSaveParkingLocation" androID:background="@drawable/directions_button" />
尽管如此,视图的父布局(相对布局)仍然具有灰色背景.
(以前,我使用的是普通的活动类,在清单中我有一个透明的主题 – 最重要的部分是将这个androID:windowBackground设置为透明 – 我必须更改它的原因不同).
任何帮助表示赞赏.
解决方法 你要做的是创建一个透明的png(例如clear.png)文件并将其放在drawables文件夹中,然后调用yourPopUp.setBackgroundDrawable(getResources().getDrawable(R.drawable.clear));
这样d出窗口仍然是不允许的,如果你尝试使用null则不是这种情况.
总结以上是内存溢出为你收集整理的android – 无法将PopupWindow背景设置为透明全部内容,希望文章能够帮你解决android – 无法将PopupWindow背景设置为透明所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)