单击按钮后如何调暗弹出菜单后面的背景?

时间:2016-03-11 22:02:05

标签: java android

单击打开弹出菜单的按钮后,如何让弹出菜单后面的背景变暗?看了其他代码示例但没有运气!非常感谢任何建议!

final Button Bel = (Button) findViewById(R.id.btnBel);
    final ImageView Phone = (ImageView)findViewById(R.id.imgPhone);
    relativeLayout = (RelativeLayout) findViewById(R.id.relative);

    Bel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Bel.setVisibility(View.GONE);
            Phone.setVisibility(View.GONE);

            layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
            ViewGroup container = (ViewGroup) layoutInflater.inflate(R.layout.popup_menu, null);

            popupWindow = new PopupWindow(container, 1000, 850, true);
            popupWindow.showAtLocation(relativeLayout, Gravity.NO_GRAVITY, 221, 4000);

            btnBelNuCall = (Button) container.findViewById(R.id.btnBelNu);
            btnClosePopUp = (Button) container.findViewById(R.id.btnAnnuleren);

            btnBelNuCall.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent callIntent = new Intent(Intent.ACTION_CALL);
                    callIntent.setData(Uri.parse("tel:0900-33-44-55-6"));
                    startActivity(callIntent);
                    checkPermission();
                }
            });

            btnClosePopUp.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    popupWindow.dismiss();
                    Bel.setVisibility(View.VISIBLE);
                    Phone.setVisibility(View.VISIBLE);
                }
            });

        }
    });

2 个答案:

答案 0 :(得分:0)

<强> 1。创建一个涵盖主要布局中所有内容的布局

我不知道你的XML文件是什么样的,但是在它的顶部加上这样的东西:

env.jersey().register(
                new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<User>().setAuthenticator(new FooAuthentificator())
                        .setRealm("Realm").buildAuthFilter()));

注意:根据您的XML文件,您可能需要对其进行更改,以使其置于所有其他组件之上。

这将创建一个布局,覆盖主布局中的所有内容,背景为<LinearLayout android:id="dim_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#70000000" android:visibility="invisible"/> ,黑色,alpha级别为70.更改十六进制代码开头的70将允许您修改方式透明,你想要它。

<强> 2。激活弹出窗口时显示布局

#70000000

第3。弹出窗口取消激活时隐藏布局

LinearLayout dim_layout = (LinearLayout) findViewById(R.id.dim_layout);
popupWindow = new PopupWindow(container, 1000, 850, true);
dim_layout.setVisibility(View.VISIBLE);
popupWindow.showAtLocation(relativeLayout, Gravity.NO_GRAVITY, 221, 4000);

答案 1 :(得分:0)

为您的根标签提供一个ID,并在您的班级中为其提供暗淡的背景颜色。例如在您的布局活动中

      <?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="match_parent"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:background="#F4F4F4"
      android:orientation="vertical"
      android:id="@+id/main_screen">

在课堂上

      mainView = findViewById(R.id.main_screen);
      mainView.setBackgroundColor(Color.parseColor("#30000000"));