Панель поиска - выровнять метку значения над большим пальцем - PullRequest
0 голосов
/ 06 января 2020

Мой текст не выровнен с большим пальцем.

enter image description here

enter image description here

enter image description here

Мой ярлык уходит с экрана. Это мой kotlin код:

val x: Int = progress * (seekBar!!.width - 2 * seekBar.thumbOffset) / seekBar.max
text12.text = "$progress %"
val textViewX: Int = x- text12.width / 2
val finalX =
    if (text12.width + textViewX > maxX){
        maxX - text12.width- 100
    } else textViewX +40 /*your margin*/
text12.x = if (finalX < 0) 0f /*your margin*/ else finalX.toFloat() +16

Мой xml:

<SeekBar
    android:id="@+id/customSeekBar1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100"
    android:layout_marginTop="100dp"
    android:progress="50"
    app:layout_constraintTop_toBottomOf="@+id/tv_user_data_notsaved"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text1"
    android:text="12%"
    app:layout_constraintBottom_toTopOf="@+id/customSeekBar1"
    app:layout_constraintLeft_toLeftOf="parent"/>

1 Ответ

1 голос
/ 06 января 2020

вот мой код работает нормально в моем проекте

    seekBarWithHint.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            textView.setText("" + progress + " KM");
            SmartApplication.REF_SMART_APPLICATION.writeSharedPreferences(Constants.KM, progress);
            //Get the thumb bound and get its left value
            x = seekBar.getThumb().getBounds().left;
            //set the left value to textview x value
            textView.setX(x);
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });

здесь xml код

 <SeekBar
                    android:id="@+id/seekBar_luminosite"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="@dimen/_22sdp"
                    android:layout_marginTop="@dimen/_10sdp"
                    android:layout_marginRight="@dimen/_22sdp"
                    android:maxWidth="15dp"
                    android:maxHeight="12dp"
                    android:minWidth="15dp"
                    android:minHeight="12dp"
                    android:progressDrawable="@drawable/custom_seekbar"
                    android:splitTrack="false"
                    android:thumb="@drawable/custom_thumb" />
...