如何使AlertDialog弹出窗口在来电屏幕中滚动?

问题描述

我使用WindowManager在来电屏幕上创建一个浮动按钮。拨打新号码时,我可以单击按钮,然后弹出AlertDialog添加新联系人。但是,当有来电时,我单击按钮,弹出窗口不可滚动。当我结束通话时,弹出窗口可以滚动。我该如何解决这个问题?我需要它始终可滚动!

floating button

add new contact form

类PhonecallReceiver扩展了broadcastReceiver:

    @Override
        protected void onIncomingCallStarted(Context ctx,String number,Date start) {
    //...
    if (!myDB.checkIsDataAlreadyInDBorNot(number)){
                int LAYOUT_FLAG;
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    LAYOUT_FLAG = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
                } else {
                    LAYOUT_FLAG = WindowManager.LayoutParams.TYPE_PHONE;
                }
                wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
                params = new WindowManager.LayoutParams(
                        WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT,LAYOUT_FLAG,WindowManager.LayoutParams.TYPE_SYstem_ALERT,PixelFormat.TRANSPARENT);
                params.flags =
                         WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
                params.gravity = Gravity.LEFT | Gravity.TOP;
                params.x = 500;
                params.y = 500;
    
                LayoutInflater layoutInflater = LayoutInflater.from(ctx);
                addButtonView =layoutInflater.inflate(R.layout.activity_add__new__button,null);
                Button addButton =(Button)addButtonView.findViewById(R.id.addNEWContactBtn);
                    addButton.setonClickListener(addNEWOnClickListener);
                    addButton.setonTouchListener(addBtnTouchListener);
                wm.addView(addButtonView,params);

//...
private Button.OnClickListener addNEWOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            System.out.println("you click me");
            Intent intent=new Intent(context,Add_New_ButtonActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);

        }
    };

Add_New_ButtonActivity:

    public class Add_New_ButtonActivity extends Activity {
    private AlertDialog.Builder dialogBuilder;
    private AlertDialog dialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        createNewContactDialog();
//        setContentView(R.layout.activity_add__new__button);
    }
    public void createNewContactDialog(){
        dialogBuilder = new AlertDialog.Builder(this);
        final  View contactPopupView = getLayoutInflater().inflate(R.layout.activity_add_contacts,null);
        dialogBuilder.setView(contactPopupView);
        dialog = dialogBuilder.create();

        dialog.show();
    }
}

请提供任何帮助,非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...