Android getWidth ()는 View의 onDraw에서 0을 반환합니다.

바 구스 플라이어

내 코드는 다음과 같습니다.

    if (myView == null) {
        myView = new View(mContext) {
            @Override
            protected void onDraw(final Canvas canvas) {
                super.onDraw(canvas);
                final float width = (float)getWidth();
                ......
            }
        };

        addView(myView);
    }

    requestLayout();

mContext의 크기가 0이 아니지만 내 코드의 너비는 항상 0입니다. 아무도 내가 너비가 0 인 가능한 이유가 무엇인지 조언 할 수 있습니까? 감사

Rob Meeuwisse

onSizeChanged핸들러 에서 캔버스의 크기를 기록한 다음 onDraw핸들러 에서 사용해야합니다 .

private int canvasWidth;
private int canvasHeight;

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    canvasWidth = w;
    canvasHeight = h;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    final float width = (float)canvasWidth;
    ...
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Android ConstraintLayout getWidth는 0을 반환합니다.

뷰의 getWidth () 및 getHeight ()는 0을 반환합니다.

해결 방법을 적용한 후에도 getWidth ()는 0을 반환합니다.

ImageView.getWidth ()는 0을 반환합니다.

Java, JFrame : getWidth ()는 0을 반환합니다.

ImageButton.getWidth () 및 getHeight ()는 0을 반환합니다.

Android getParentFragment ()는 Fragment 내의 ViewPager에서 null을 반환합니다.

ImageView 높이는 항상 Android에서 0을 반환합니다.

레이아웃 매개 변수 getWidth ()는 0을 반환합니다.

ImageView.getWidth ()는 가로 및 세로 화면에서 동일한 값을 반환합니다.

JavaFx에서 getWidth ()가 0을 반환하기 때문에 버튼의 너비를 결정할 수 없습니다.

Android-MockitoJUnitRunner-커서 getCount는 항상 0을 반환합니다.

Android getMaxAddressLineIndex는 줄 1에 대해 0을 반환합니다.

Android : 앨범별로 트랙을 검색하는 동안 MediaStore의 커서가 0을 반환합니다.

self.view.frame.width는 Custom Keyboard View Controller에서 0을 반환합니다.

왜 "getWidth ()"가 0을 반환합니까?

커서 수는 sqlitedatabase android에서 항상 0을 반환합니다.

getUidRxBytes () 및 getUidTxBytes ()는 Android 4.3에서 항상 0을 반환합니다.

Java : BufferedImage의 getHeight ()는 이미지 너비를 반환하고 getWidth ()는 이미지 높이를 반환합니다.

SKProductsRequest는 AppStore 빌드에서 0 개의 제품을 반환합니다.

Laravel Auth::user()->id는 사용자 정의 ID에서 0을 반환합니다.

View.getWidth()는 올바른 너비를 표시하지만 View의 x 위치에 추가할 때 오른쪽 여백을 생성할 수 없습니다.

getHeight는 모든 Android UI 개체에 대해 0을 반환합니다.

getHeight () 및 getWidth () 모두 0을 반환합니다.

android getSupportActionBar ()는 조각에서 null을 반환합니다.

getRunningAppProcesses는 Android M (5.1.1)에서 빈 목록을 반환합니다.

ChildFragmentManager.findFragmentByID ()는 Android 4.4.2에서 null을 반환합니다.

AWS Lambda는 Android에서 항상 null을 반환합니다.

C # Xamarin Android는 AlertDialog에서 응답 bool을 반환합니다.

TOP 리스트

뜨겁다태그

보관