我有各种 XML 布局。在所有这些布局中,我都有按钮,但按钮的位置在每个布局中都不同。在我的 Activity 中,这些布局会随机膨胀(任何布局都可以出现在前台)。由于所有 XML 布局的内容都相同,因此它们有一个共同点,那就是按钮的 ID。在每个 xml 文件中,按钮只有 (android:layout_marginTop="145sp"和 android:layout_marginBottom="45sp") 不同。
因此,如果名为“ALI”的按钮显示在特定的角落,下一次相同的按钮“ALI”可能会显示在屏幕的另一个角落。
现在在我的 Activity 中,我想要它以便每当我单击按钮时,它的相关图像应该以 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();
}
});
最佳答案
toast.setGravity(Gravity.RIGHT |Gravity.TOP, view.getLeft(), view.getTop()+(view.getBottom()-view.getTop())/2);
它应该工作
关于android - 如何准确地在按钮上显示 toast ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355388/