如何在按钮上准确显示Toast

Ali*_*Ali 2 xml android toast

我有各种XML布局.在所有这些布局中,我都有按钮,但每个布局中按钮的位置不同.在我的活动中,这些布局随机膨胀(任何布局都可以到达前台).由于所有XML布局的内容都相同,因此它们有一个共同点,那就是按钮的ID.在每个xml文件中,只有(android:layout_marginTop ="145sp"和android:layout_marginBottom ="45sp")对于按钮是不同的.

结果,如果在特定角落中显示名为"ALI"的按钮,则下一次可能在屏幕的另一角显示相同的按钮"ALI".

现在,在我的活动中,我想要它,以便每当我点击按钮时,其相关图像应该以a形式显示在按钮上Toast.

但由于按钮的位置不固定,我无法正确显示Toast按钮.Toast无论按钮位置如何,我得到的位置都是固定的.但我希望它直接显示在按钮上.

我使用了以下代码.如果有任何方法可以OnClickListener在运行时告诉关于按钮的像素位置,那么它会有点方便.

单击按钮事件时代码如下:

button_ALI.setOnClickListener(new View.OnClickListener() {          

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast toast = Toast.makeText(getApplicationContext(),"This is Bat", Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0);
            LinearLayout toastView = (LinearLayout) toast.getView();
            ImageView imageCodeProject = new ImageView(getApplicationContext());
            imageCodeProject.setImageResource(R.drawable.b_1);
            toastView.addView(imageCodeProject, 0);
            toast.show();
        }
    });
Run Code Online (Sandbox Code Playgroud)

Dmy*_*tro 6

toast.setGravity(Gravity.RIGHT |Gravity.TOP, view.getLeft(), view.getTop()+(view.getBottom()-view.getTop())/2);
Run Code Online (Sandbox Code Playgroud)

它应该工作