나는이 질문을 많이 알게되었습니다. 하지만 그는 대답이 나를 위해 작동하지 않습니다.안드로이드 측정 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에서 많은 시도했지만 내 텍스트보기의 높이를 관리 할 수 없습니다.
조치는 버튼을 클릭 할 때 이루어집니다. 따라서 생성 상태 문제는 없습니다.
은 (최종 목표는 자동차 내 텍스트에 맞게하는 것입니다, 나는 몇 가지 라이브러리를 찾았지만, 그들은 단지에 자동 맞춤) 당신은 픽셀의 값을 받고
활동의 라이프 사이클에 너비와 높이를 측정하고 있습니까? – Barns
정확히 무엇이 문제입니까? 레이아웃의'dp' (밀도 - 독립 픽셀) 값이 왜 코드의 픽셀 값과 다른지 묻고 있습니까? https://stackoverflow.com/q/2025282. –
@ barns : 버튼이 있습니다. 조치를 취하기 위해 버튼이 있습니다.> 모든 가능한 라이프 사이클 문제 이후에. – fabien