<?xml version="1.0" encoding="utf-8"?><!-- ~ Copyright (C) 2022 Lukas Eisenhauer ~ ~ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or(at your option) any later version. ~ ~ This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ~ ~ You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. --> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/frameLayout2" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.fragments.EditVoiceFragment"> <TextView android:id="@+id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:text="@string/edit_voice" android:textAlignment="center" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="@+id/restrikeButton" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/restrikeButton" /> <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/closeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="32dp" android:clickable="true" android:contentDescription="@string/close" android:src="@android:drawable/ic_menu_close_clear_cancel" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> <Button android:id="@+id/restrikeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:contentDescription="@string/restrike_description" android:text="@string/restrike" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ScrollView android:id="@+id/scrollView2" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginTop="16dp" android:layout_marginBottom="32dp" app:layout_constraintBottom_toTopOf="@+id/closeButton" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/octaveSeekBar" tools:ignore="SpeakableTextPresentCheck"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TableLayout android:id="@+id/noteGrid" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="32dp" android:layout_marginEnd="16dp" /> </LinearLayout> </ScrollView> <SeekBar android:id="@+id/octaveSeekBar" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="16dp" app:layout_constraintEnd_toEndOf="@+id/restrikeButton" app:layout_constraintStart_toEndOf="@+id/octaveText" app:layout_constraintTop_toBottomOf="@+id/restrikeButton" /> <TextView android:id="@+id/octaveText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/placeholder" app:layout_constraintBottom_toBottomOf="@+id/octaveSeekBar" app:layout_constraintStart_toStartOf="@+id/textView8" app:layout_constraintTop_toTopOf="@+id/octaveSeekBar" /> </androidx.constraintlayout.widget.ConstraintLayout>