Я предлагаю воспользоваться макетом ограничений, который даст вам лучший механизм для реализации. Сначала создайте один макет ограничений и поместите в него свой индикатор выполнения, а также поместите текстовое представление, в котором вы хотите настроить процесс количества текста и сместить смещение в соответствии с вашими требованиями. Процент процесса, как показано ниже
Макет
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:id="@+id/mConstraintLayout"
android:layout_height="wrap_content">
<ProgressBar
android:layout_width="match_parent"
android:id="@+id/mProgressBar"
android:layout_height="wrap_content" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:id="@+id/mTVValue"
android:text="7/10"
app:layout_constraintStart_toStartOf="@+id/mProgressBar"
app:layout_constraintEnd_toEndOf="@+id/mProgressBar"
android:layout_height="wrap_content" />
</androidx.constraintlayout.widget.ConstraintLayout>
Затем, после выполнения кода ниже в вашем классе
/**
* Method move progress label as per progress change
* @param constraintLayout constraint layout object
* @param textViewId text view id which you want to move also text id same which you used in design
* @param percentProgress Progress in percentages means total moved progress percent which from 100
*/
private void moveProgressPercent(ConstraintLayout constraintLayout,int textViewId,float percentProgress){
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(constraintLayout);
constraintSet.setHorizontalBias(textViewId, percentProgress / 100);
constraintSet.applyTo(constraintLayout);
}
Согласно приведенному выше просмотра это как
ConstraintLayout constraintLayout=findViewById(R.id.mConstraintLayout);
moveProgressPercent(constraintLayout,R.id.mTVValue,25);