自定义Android Spinner

时间:2015-07-29 17:28:49

标签: android android-spinner

我正在考虑为我的App创建一个自定义项目选择器aka spinner。当你点击你所在的房间时,我想要你在Slack应用程序中看到的东西。

我认为这是一个具有良好旧对话模式的Spinner,但我不确定如何执行以下操作:

1)删除背景色调(对话框外)
2)将对话框固定在屏幕顶部而不是屏幕中心。

这是一个例子:

collapsed clicked

1 个答案:

答案 0 :(得分:0)

所以如果有人遇到类似的问题,这就是我最终要做的事情:

spinner.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() != MotionEvent.ACTION_DOWN) {
                return true;
            }
            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                  //code goes here
                }
            });

            AlertDialog dialog = builder.create();
            dialog.setCanceledOnTouchOutside(true);
            WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();

            wmlp.dimAmount=0.0f;
            wmlp.gravity = Gravity.TOP | Gravity.LEFT;
            wmlp.x = 100;   //x position
            wmlp.y = 100;   //y position

            dialog.getWindow().setAttributes(wmlp);
            dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
            dialog.show();

            return true;
        }
    });

答案基于Show AlertDialog in any position of the screen,所以非常感谢原作者!