您的位置:首页 > 运维架构

笔记78--Popupwindow实现类似AlertDialog半透明效果

2014-09-19 00:06 423 查看
Dialog和Popupwindow区别详见:笔记41

一、实现原理
设置PopupWindow加载的布局背景变灰。

二、实现步骤
1、先将PopupWindow全屏显示。

2、设置布局的背景颜色

三、代码
1、设置Popupwindow全屏

<pre name="code" class="java">View viewSearch=LayoutInflater.from(this).inflate(R.layout.why_search_result, null);
result_dg=new PopupWindow(viewSearch, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, true);

2、设置布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#a0000000"
android:orientation="vertical" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="110dp"
android:background="#ffffff"
android:orientation="vertical" >

<ListView
android:id="@+id/why_recLV"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="@null"
android:fastScrollEnabled="true"
android:scrollbars="none"
android:scrollingCache="false" >
</ListView>
</LinearLayout>

</RelativeLayout>最主要是设置最外层布局背景色为:
#a0000000

四、其他问题
1、设置back键关闭popupwindow
<pre name="code" class="java">// 加上下面两行可以用back键关闭popupwindow,否则必须调用dismiss();
ColorDrawable dw = new ColorDrawable(-00000);
rec_dg.setBackgroundDrawable(dw);
rec_dg.update();

2、如果popupwindow中有EditText
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: