
Java
Javapublic class MAInActivity extends AppCompatActivity implements ViewTreeObserver {private int mClickedId = 0;private View mClickedView;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setcontentView(R.layout.activity_mAIn);
// 获取根布局 View root = findViewById(R.id.root);

AI
// 注册点击事件 root.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mClickedView = v; mClickedId = (int)v.getId(); } }); // 监听ViewTreeObserver mClickedView.getViewTreeObserver().addOnGlobalLayout(new ViewTreeObserver.OnGlobalLayout() { @Override public void onGlobalLayout() { // 获取被点击控件的高度和宽度 float height = mClickedView.getHeight(); float width = mClickedView.getWidth();
// 根据高度和宽度获取被点击控件的ID int id = (int)(width / 2 * height); // 输出结果 Log.e("MyApp", "被点击控件的ID为:" + id); } });}
以上代码只是一个示例,具体实现方式可能会因项目不同而有所差异。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号