创建具有背景背景的PopUp 50%透明

时间:2016-06-21 02:11:44

标签: java android popup transparent

我使用以下代码创建了PopUp

JAVA:

public class PopUp extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_pop_up);

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);

        int width = dm.widthPixels;
        int height = dm.heightPixels;

        getWindow().setLayout((int) (width * 0.6), (int) (height * 0.6));


}

样式XML

<style name="AppTheme.CustomTheme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>

嗯,我的popUp很好,但我想要一个背后半透明的背景,不是完全透明的。我想要这样的东西:

没有popUp的活动:

Activity without popUp

使用popUp

活动:

Activity with popUp

有人能帮助我吗? 感谢。

1 个答案:

答案 0 :(得分:0)

    Dialog dialog = new Dialog(this, R.style.AppTheme_NoActionBar);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

    ColorDrawable dialogColor = new ColorDrawable(Color.BLACK);
    dialogColor.setAlpha(200);
    dialog.getWindow().setBackgroundDrawable(dialogColor);
    dialog.setContentView(R.layout.activity_result);


    dialog.setCancelable(false);
    dialog.setCanceledOnTouchOutside(false);
    dialog.show();

并相应地设置alpha。