2017-10-27 2 views
-1

나는이 질문을 많이 알게되었습니다. 하지만 그는 대답이 나를 위해 작동하지 않습니다.안드로이드 측정 textview

이 다음은 간단한 텍스트 뷰입니다 : 내 주요 활동에서

<TextView 
    android:id="@+id/cardText" 
    android:layout_width="240dp" 
    android:layout_height="wrap_content" 
    android:layout_marginEnd="30dp" 
    android:layout_marginStart="30dp" 
    android:layout_marginTop="60dp" 
    android:background="@color/transparent" 
    android:padding="0dp" 
    android:paddingBottom="0dp" 
    android:paddingEnd="0dp" 
    android:paddingStart="0dp" 
    android:paddingTop="0dp" 
    android:text="hello world" 
    android:textSize="36sp" 
    app:layout_constraintEnd_toEndOf="parent" 
    app:layout_constraintStart_toStartOf="parent" 
    app:layout_constraintTop_toTopOf="parent" /> 

, 나는 그런 식으로 얻을 : final TextView cardNumber = (TextView) findViewById(R.id.cardNumber);

을 그리고 나는 측정하려고합니다.

int ww = cardText.getMeasuredWidth(); 
int hh = cardText.getMeasuredHeight(); 
Log.v("ww", String.valueOf(ww)); // => 630 
Log.v("hh", String.valueOf(hh)); // => 127 

=> WTF

나는 또한 측정에 몇 가지 제약 조건을 만들기 위해 시도 할 수 있습니다 :

cardText.measure(View.MeasureSpec.makeMeasureSpec(240, View.MeasureSpec.EXACTLY), 0); 
int ww = cardText.getMeasuredWidth(); 
int hh = cardText.getMeasuredHeight(); 
Log.v("ww", String.valueOf(ww)); // => 240 
Log.v("hh", String.valueOf(hh)); // => 238 

이 하나가 함께 조금 더 의미가 있습니다. 그러나 신장은 어떨까요?

나는 이상한 combinaison에서 많은 시도했지만 내 텍스트보기의 높이를 관리 할 수 ​​없습니다.

조치는 버튼을 클릭 할 때 이루어집니다. 따라서 생성 상태 문제는 없습니다.

은 (최종 목표는 자동차 내 텍스트에 맞게하는 것입니다, 나는 몇 가지 라이브러리를 찾았지만, 그들은 단지에 자동 맞춤) 당신은 픽셀의 값을 받고

+0

활동의 라이프 사이클에 너비와 높이를 측정하고 있습니까? – Barns

+0

정확히 무엇이 문제입니까? 레이아웃의'dp' (밀도 - 독립 픽셀) 값이 왜 코드의 픽셀 값과 다른지 묻고 있습니까? https://stackoverflow.com/q/2025282. –

+0

@ barns : 버튼이 있습니다. 조치를 취하기 위해 버튼이 있습니다.> 모든 가능한 라이프 사이클 문제 이후에. – fabien

답변

1

하지만 밀도 (픽셀)으로 설정하고 있습니다. 반환 된 값을 DP로 변환하면 매우 가까운 숫자가됩니다. 제 경우에는 232.38095를 얻었습니다.

+0

당신이 옳다고 생각합니다. 추가 테스트가 필요합니다. 그러나 그것은 문제일지도 모른다! – fabien

관련 문제