我正在考虑为我的App创建一个自定义项目选择器aka spinner。当你点击你所在的房间时,我想要你在Slack应用程序中看到的东西。
我认为这是一个具有良好旧对话模式的Spinner,但我不确定如何执行以下操作:
1)删除背景色调(对话框外)
2)将对话框固定在屏幕顶部而不是屏幕中心。
这是一个例子:
答案 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,所以非常感谢原作者!