293 lines
12 KiB
XML
293 lines
12 KiB
XML
|
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
|
<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:layout_width="match_parent"
|
||
|
|
android:layout_height="match_parent"
|
||
|
|
android:minHeight="48dp">
|
||
|
|
|
||
|
|
<ImageView
|
||
|
|
android:id="@+id/mole_image"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="0dp"
|
||
|
|
android:layout_marginStart="100dp"
|
||
|
|
android:layout_marginTop="25dp"
|
||
|
|
android:layout_marginEnd="100dp"
|
||
|
|
android:contentDescription="@string/string_mole_image"
|
||
|
|
app:layout_constraintBottom_toTopOf="@+id/mole_details"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toTopOf="parent"
|
||
|
|
app:srcCompat="@drawable/circle_button" />
|
||
|
|
|
||
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||
|
|
android:id="@+id/mole_details"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginStart="25dp"
|
||
|
|
android:layout_marginEnd="25dp"
|
||
|
|
android:orientation="horizontal"
|
||
|
|
app:layout_constraintBottom_toTopOf="@+id/mole_logs"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintHorizontal_bias="1.0"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toBottomOf="@+id/mole_image">
|
||
|
|
|
||
|
|
<LinearLayout
|
||
|
|
android:id="@+id/mole_location"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginTop="25dp"
|
||
|
|
android:layout_marginEnd="10dp"
|
||
|
|
android:layout_marginBottom="25dp"
|
||
|
|
android:orientation="vertical"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toStartOf="@+id/mole_predictions"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toTopOf="parent">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/mole_location_header"
|
||
|
|
android:layout_width="match_parent"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_location"
|
||
|
|
android:textSize="20sp" />
|
||
|
|
|
||
|
|
<Space
|
||
|
|
android:layout_width="match_parent"
|
||
|
|
android:layout_height="10dp"
|
||
|
|
tools:layout_editor_absoluteY="27dp" />
|
||
|
|
|
||
|
|
<LinearLayout
|
||
|
|
android:id="@+id/mole_side"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:orientation="vertical"
|
||
|
|
tools:layout_editor_absoluteY="37dp">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/side_header"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_side" />
|
||
|
|
|
||
|
|
<EditText
|
||
|
|
android:id="@+id/side_value"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:autofillHints=""
|
||
|
|
android:ems="10"
|
||
|
|
android:inputType="text"
|
||
|
|
android:minHeight="48dp"
|
||
|
|
tools:layout_editor_absoluteY="19dp"
|
||
|
|
tools:ignore="LabelFor" />
|
||
|
|
</LinearLayout>
|
||
|
|
|
||
|
|
<LinearLayout
|
||
|
|
android:id="@+id/mole_body_part"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:orientation="vertical"
|
||
|
|
tools:layout_editor_absoluteY="101dp">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/body_part_header"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_body_part" />
|
||
|
|
|
||
|
|
<EditText
|
||
|
|
android:id="@+id/body_part_value"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:autofillHints=""
|
||
|
|
android:ems="10"
|
||
|
|
android:inputType="text"
|
||
|
|
tools:ignore="LabelFor"
|
||
|
|
tools:layout_editor_absoluteY="20dp" />
|
||
|
|
</LinearLayout>
|
||
|
|
|
||
|
|
</LinearLayout>
|
||
|
|
|
||
|
|
<LinearLayout
|
||
|
|
android:id="@+id/mole_predictions"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginStart="10dp"
|
||
|
|
android:layout_marginTop="25dp"
|
||
|
|
android:layout_marginBottom="25dp"
|
||
|
|
android:orientation="vertical"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toEndOf="@+id/mole_location"
|
||
|
|
app:layout_constraintTop_toTopOf="parent">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/mole_predictions_header"
|
||
|
|
android:layout_width="match_parent"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_prediction"
|
||
|
|
android:textSize="20sp" />
|
||
|
|
|
||
|
|
<Space
|
||
|
|
android:layout_width="match_parent"
|
||
|
|
android:layout_height="10dp"
|
||
|
|
tools:layout_editor_absoluteY="240dp" />
|
||
|
|
|
||
|
|
<LinearLayout
|
||
|
|
android:id="@+id/mole_benign_prediction"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:orientation="vertical"
|
||
|
|
tools:layout_editor_absoluteY="250dp">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/benign_prediction_header"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_benign_probability" />
|
||
|
|
|
||
|
|
<EditText
|
||
|
|
android:id="@+id/benign_prediction_value"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:autofillHints=""
|
||
|
|
android:ems="10"
|
||
|
|
android:inputType="text"
|
||
|
|
tools:ignore="LabelFor"
|
||
|
|
tools:layout_editor_absoluteY="100dp" />
|
||
|
|
</LinearLayout>
|
||
|
|
|
||
|
|
<LinearLayout
|
||
|
|
android:id="@+id/mole_malignant_prediction"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:orientation="vertical"
|
||
|
|
tools:layout_editor_absoluteY="350dp">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/malignant_prediction_header"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_malignant_probability" />
|
||
|
|
|
||
|
|
<EditText
|
||
|
|
android:id="@+id/malignant_prediction_value"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:autofillHints=""
|
||
|
|
android:ems="10"
|
||
|
|
android:inputType="text"
|
||
|
|
tools:ignore="LabelFor" />
|
||
|
|
</LinearLayout>
|
||
|
|
|
||
|
|
</LinearLayout>
|
||
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||
|
|
|
||
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||
|
|
android:id="@+id/mole_logs"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="0dp"
|
||
|
|
android:layout_marginStart="25dp"
|
||
|
|
android:layout_marginEnd="25dp"
|
||
|
|
android:orientation="vertical"
|
||
|
|
app:layout_constraintBottom_toTopOf="@+id/mole_buttons"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintHorizontal_bias="1.0"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toBottomOf="@+id/mole_details">
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/log_empty_text"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:text="@string/string_this_mole_has_no_logs"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toTopOf="parent" />
|
||
|
|
|
||
|
|
<TextView
|
||
|
|
android:id="@+id/mole_logs_header"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginBottom="10dp"
|
||
|
|
android:text="@string/string_logs"
|
||
|
|
android:textSize="20sp"
|
||
|
|
app:layout_constraintBottom_toTopOf="@+id/log_list"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toTopOf="parent" />
|
||
|
|
|
||
|
|
<androidx.recyclerview.widget.RecyclerView
|
||
|
|
android:id="@+id/log_list"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="0dp"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toBottomOf="@+id/mole_logs_header">
|
||
|
|
|
||
|
|
</androidx.recyclerview.widget.RecyclerView>
|
||
|
|
|
||
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||
|
|
|
||
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||
|
|
android:id="@+id/mole_buttons"
|
||
|
|
android:layout_width="0dp"
|
||
|
|
android:layout_height="0dp"
|
||
|
|
android:layout_marginStart="25dp"
|
||
|
|
android:layout_marginTop="25dp"
|
||
|
|
android:layout_marginEnd="25dp"
|
||
|
|
android:layout_marginBottom="25dp"
|
||
|
|
android:orientation="horizontal"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintHorizontal_bias="1.0"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toBottomOf="@+id/mole_logs">
|
||
|
|
|
||
|
|
<ImageButton
|
||
|
|
android:id="@+id/mole_add_log_button"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginStart="25dp"
|
||
|
|
android:layout_marginBottom="10dp"
|
||
|
|
android:background="@drawable/add_log_icon"
|
||
|
|
android:contentDescription="@string/string_add_log"
|
||
|
|
android:minHeight="48dp"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toStartOf="@+id/mole_predict_button"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toBottomOf="@+id/mole_save_button" />
|
||
|
|
|
||
|
|
<ImageButton
|
||
|
|
android:id="@+id/mole_predict_button"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginEnd="25dp"
|
||
|
|
android:layout_marginBottom="10dp"
|
||
|
|
android:background="@drawable/predict_icon"
|
||
|
|
android:contentDescription="@string/string_new_prediction"
|
||
|
|
android:minHeight="48dp"
|
||
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toEndOf="@+id/mole_add_log_button"
|
||
|
|
app:layout_constraintTop_toBottomOf="@+id/mole_save_button" />
|
||
|
|
|
||
|
|
<ImageButton
|
||
|
|
android:id="@+id/mole_save_button"
|
||
|
|
android:layout_width="wrap_content"
|
||
|
|
android:layout_height="wrap_content"
|
||
|
|
android:layout_marginTop="10dp"
|
||
|
|
android:background="@drawable/save_icon"
|
||
|
|
android:contentDescription="@string/save_mole"
|
||
|
|
android:minHeight="48dp"
|
||
|
|
android:visibility="visible"
|
||
|
|
app:layout_constraintEnd_toEndOf="parent"
|
||
|
|
app:layout_constraintStart_toStartOf="parent"
|
||
|
|
app:layout_constraintTop_toTopOf="parent" />
|
||
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||
|
|
|
||
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|