2 powerful cat Powerful_cat 于 2016.09.10 14:10 提问

Android 布局如何实现这种效果呢

想让弹出的PPwindow 实现如下效果!
图片说明

1个回答

qq_24827089
qq_24827089   2016.09.10 16:19

xml布局:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#00000000"
    android:orientation="vertical"
    android:padding="10dp" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:background="@drawable/circle_while_bg"
        android:gravity="center"
        android:paddingBottom="10dp"
        android:paddingTop="10dp"
        android:text="投诉"
        android:textColor="@color/text_red"
        android:textSize="20sp" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:background="@drawable/circle_while_bg"
        android:gravity="center"
        android:paddingBottom="10dp"
        android:paddingTop="10dp"
        android:text="取消"
        android:textColor="@color/text_lan"
        android:textSize="20sp" />
</LinearLayout>

代码显示PPwindow:

 View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_test, null);
                final PopupWindow popupWindow = new PopupWindow(contentView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                popupWindow.setBackgroundDrawable(new BitmapDrawable());
                popupWindow.setAnimationStyle(R.style.anim_popup_dir);
                popupWindow.setOutsideTouchable(true);
                popupWindow.setFocusable(true);
                WindowManager.LayoutParams lp=getWindow().getAttributes();
                lp.alpha = 0.5f;
                getWindow().setAttributes(lp);
                popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
                    @Override
                    public void onDismiss() {
                        WindowManager.LayoutParams lp=getWindow().getAttributes();
                        lp.alpha = 1f;
                        getWindow().setAttributes(lp);
                    }
                });
                popupWindow.showAtLocation(getWindow().getDecorView(), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
qq_24827089
qq_24827089 回复Powerful_cat: popupWindow的宽高没有设为屏幕宽高
大约一年之前 回复
Powerful_cat
Powerful_cat 回复flk_123: 刚把你的布局给换上了 但是情况跟我的一样 白色背景只包裹了文字 不知道为啥 纠结呀!
大约一年之前 回复
qq_24827089
qq_24827089 回复Powerful_cat: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@android:color/white" /> <corners android:radius="5dp"/> <stroke android:width="1px" android:color="#e8e8e8" /> </shape>
大约一年之前 回复
Powerful_cat
Powerful_cat 你好 思路我懂了 我改了下自己的布局 结果白色部分只包裹了文字 并没有fillparent 这是咋回事 你能把android:background="@drawable/circle_while_bg" 这个给我看看吗
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片