我有各种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)
toast.setGravity(Gravity.RIGHT |Gravity.TOP, view.getLeft(), view.getTop()+(view.getBottom()-view.getTop())/2);
Run Code Online (Sandbox Code Playgroud)
它应该工作
| 归档时间: |
|
| 查看次数: |
2537 次 |
| 最近记录: |