У меня есть панель поиска, и когда я касаюсь панели поиска и обновляю ее положение, моя форма меняет положение, казалось бы, «волшебным образом». Например, если панель поиска находится в верхней части моей формы, когда я прокручиваю форму, и я начинаю менять положение панели поиска, вся форма будет прокручиваться обратно вверх, а панель поиска постоянно помещается в нижнюю часть формы.
У меня есть родительская форма в виде прокрутки. Внутри вложен линейный макет со всеми моими относительными макетами внутри него. Вот соответствующий код. Если требуется больше кода, пожалуйста, дайте мне знать.
XML:
<RelativeLayout
android:id="@+id/Turns_Box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Prev_Box"
android:layout_margin="5dp"
>
<TextView
android:id="@+id/Turns_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Turns_Text"
android:textSize="25sp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
/>
<SeekBar
android:id="@+id/Turns_Value"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/Turns_Text"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:max="25"
/>
<TextView
android:id="@+id/Turns_Value_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/Turns_Value"
android:textSize="20sp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginBottom="10dp"
/>
</RelativeLayout>
ЯВА:
// Actual Turns
SeekBar actualTurnsValue = (SeekBar)findViewById(R.id.Turns_Value);
turnsValueText = (TextView)findViewById(R.id.Turns_Value_Text);
turnsValueText.setFocusable(false);
actualTurnsValue.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
turnsValueText.setText(progress + 5 + " Full Revolutions");
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
graphicAttributes.setActualTurns(Integer.toString(seekBar.getProgress() + 5));
}
});
Пожалуйста помоги!