gpt4 book ai didi

android - 在用户点击图表的地方显示一个小弹出窗口 (achartengine)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:07 24 4
gpt4 key购买 nike

我想在用户点击图表时显示一个小弹出窗口。我已经阅读了问题的答案

Showing popup on clicking a point in graph AChartEngine

它建议 toast 作为答案,但我希望用户在弹出窗口中的两个选项之间进行选择。我尝试使用 alertdialog 甚至创建了一个自定义对话框,但它们覆盖了整个屏幕区域,而我只想在用户点击图形的地方弹出一个小窗口。

这是我的 onotuch 监听器,我从中获取 x,y 坐标

     mChart.setOnTouchListener(new OnTouchListener() {
if(event.getAction() == MotionEvent.ACTION_UP)
{
int xd= (int) event.getX();
int yd = (int) event.getY();
}

重新定位对话框的代码

    AlertDialog alertDialog = builder.create();
alertDialog.show();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.x= xd;
lp.y= yd;
alertDialog.getWindow().setAttributes(lp);

最佳答案

这是调整对话框大小的代码

dialog.show();

Display display =((WindowManager)getSystemService(context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height=display.getHeight();

Log.v("width", width+"");
dialog.getWindow().setLayout((6*width)/7,(4*height)/5);

已更新

MotionEvent 类有方法 getX() 获取与该 View 对应的 X 个触摸点,以及 getRawX() 方法获取与屏幕对应的 X 个触摸点。

所以要得到父级对应的X个触摸点可以通过简单的计算得到:

 view.getLeft() + motionEvent.getX()

getLeft() 返回此 View 相对于其父 View 的左侧位置

关于android - 在用户点击图表的地方显示一个小弹出窗口 (achartengine),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22402218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com