<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:id="@+id/MainLayout01">
    <ImageView android:id="@+id/ImageView01" 
    android:background="@drawable/abc2"
        android:layout_weight="2" 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent">
    </ImageView>
    
    <ImageView android:id="@+id/ImageView02" 
    android:background="@drawable/abc2"
        android:layout_weight="3.5" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:visibility="gone"
        android:focusable="false">
    </ImageView>
</LinearLayout>

 public class ViewTB extends Activity implements OnClickListener,
        OnFocusChangeListener, OnTouchListener {
    /** Called when the activity is first created. */

    private LinearLayout layout;
    private CImageView imgView01;
    private CImageView imgView02;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        imgView01.setOnClickListener(this);
        imgView02.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.ImageView01:
            imgView02.setVisibility(View.VISIBLE);

            Log.i("DEBUG", "onClick imgView01 Width = " + imgView01.getWidth());
            Log.i("DEBUG", "onClick imgView01 Height = "
                    + imgView01.getHeight());

            Log.i("DEBUG", "onClick imgView02 Width = " + imgView02.width);
            Log.i("DEBUG", "onClick imgView02 Height = "
                    + imgView02.height);

            break;
        case R.id.ImageView02:
            break;
        }
    }

위의 소스를 간략하게 설명드리면 XML 에서 LinearLayout 메인 레이아웃으로 설정하고
ImageView01 를 전체 화면을 설정합니다. 그리고 weight = 2 로 설정해 놓습니다.
ImageView02 의 경우는 gone 으로 설정값을 주어서 화면을 표시되지 않도록 합니다. 그리고 weight = 3으로 설정해 놓습니다.
이처럼 설정해 놓고 실제 코드에서
ImageView01 클릭 했을 경우에 ImageView02 을 visible 로 설정을 합니다.
이런 경우에 보여지는 ImageView02 넓이, 높이 값들을 얻고자 하는데요 위의 소스대로 해 놓으면 0,0 으로만 값이 들어옵니다.

하지만 다시 한번 ImageView01 클릭 했을 경우 ImageView02 의 넓이 높이 값들이 정상적으로 로그가 찍힙니다.

왜 첫번 째 클릭 시에 정상적으로 넓이 높이 값이 나오지 않는지 궁금합니다.

어떤 분께서 onWindowFocusChanged 메소드 안에서 넓이 높이 값들을 읽으면 된다고 하셨는데 마찬가지입니다.

안드로이드에서 원래 안되는 것을 제가 하고자 하는 건지 참 답답합니다. ;;