Когда нажимается кнопка запуска цикла for и цикла for, я увеличиваю размер текста и записываю ширину TextView. но это не увеличивает размер и всегда получает ту же самую ширину (проверьте журнал, добавленный ниже). Я добавил свой полный код. Как это исправить?
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@color/colorPrimary"
android:fontFamily="@font/roboto"
android:text="00:00" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:onClick="ocBtnIncrease"
android:text="Increase" />
</RelativeLayout>
MainActivity.java
package com.example.test;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
public static final String TAG = MainActivity.class.getSimpleName();
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.tv);
}
public void ocBtnIncrease(View view) {
for (int i = 1; i < 500; i++) {
tv.setTextSize(i);
Log.i(TAG, "i: " + i);
Log.i(TAG, "WIDTH: " + tv.getWidth());
SystemClock.sleep(500);
}
}
}
Журнал
I/MainActivity: i: 1
I/MainActivity: WIDTH: 71
I/MainActivity: i: 2
I/MainActivity: WIDTH: 71
I/MainActivity: i: 3
I/MainActivity: WIDTH: 71
I/MainActivity: i: 4
.
.