Viewの幅の高さを正しく取得する方法

664 ワード

onCreateでは、Viewの幅と座標は取得されません.View.post(Runnable)を使用して取得できます.
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        View someView = findViewById(R.id.some_view);
        someView.post(new Runnable() {
            @Override
            public void run() {
                Log.i(TAG, "x: " + someView.getX() + "y: " + someView.getY() +
                        " width: " + someView.getWidth() + " height: " + someView.getHeight());
            }
        });
    }