问题可能是因为视图还没有测量,导致宽度无法访问。可以使用ViewTreeObserver来检测视图是否已经测量,并在视图测量时获取宽度。
示例代码:
final View view = findViewById(R.id.my_view);
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int width = view.getWidth(); // 使用获取到的宽度进行操作 // ... // 移除监听器 view.getViewTreeObserver().removeOnGlobalLayoutListener(this); } });