UI: Redo styling and logic fixes on Part1 branch

This commit is contained in:
Rapturate
2026-08-28 10:45:18 -04:00
parent e8f0ae60f1
commit 9393a247af
2 changed files with 84 additions and 56 deletions
@@ -27,7 +27,7 @@ public class MainActivity extends AppCompatActivity {
return insets; return insets;
}); });
TextInputLayout tempInput = findViewById(R.id.inputTemp); TextInputLayout tempInput = findViewById(R.id.inputLayoutTemp);
Button CtoF = findViewById(R.id.but_cToF); Button CtoF = findViewById(R.id.but_cToF);
Button FtoC = findViewById(R.id.but_fToC); Button FtoC = findViewById(R.id.but_fToC);
Button reset = findViewById(R.id.but_reset); Button reset = findViewById(R.id.but_reset);
@@ -37,7 +37,8 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
assert tempInput.getEditText() != null; tempInput.setError(null);
if (tempInput.getEditText() == null) return;
String userInput = tempInput.getEditText().getText().toString().trim(); String userInput = tempInput.getEditText().getText().toString().trim();
if(userInput.isEmpty()) { if(userInput.isEmpty()) {
tempInput.setError("Please enter a temperature"); tempInput.setError("Please enter a temperature");
@@ -50,7 +51,6 @@ public class MainActivity extends AppCompatActivity {
result.setText(resultString); result.setText(resultString);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
// Handle cases where the input is not a valid decimal number
tempInput.setError("Invalid number format"); tempInput.setError("Invalid number format");
} }
} }
@@ -60,7 +60,8 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
assert tempInput.getEditText() != null; tempInput.setError(null);
if (tempInput.getEditText() == null) return;
String userInput = tempInput.getEditText().getText().toString().trim(); String userInput = tempInput.getEditText().getText().toString().trim();
if(userInput.isEmpty()) { if(userInput.isEmpty()) {
tempInput.setError("Please enter a temperature"); tempInput.setError("Please enter a temperature");
@@ -83,6 +84,10 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
result.setText(""); result.setText("");
if (tempInput.getEditText() != null) {
tempInput.getEditText().setText("");
}
tempInput.setError(null);
} }
}); });
} }
+75 -52
View File
@@ -3,97 +3,120 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main" android:id="@+id/main"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:textAlignment="center"
tools:context=".MainActivity"> tools:context=".MainActivity">
<TextView
android:id="@+id/result"
android:layout_width="109dp"
android:layout_height="28dp"
android:layout_marginStart="4dp"
android:layout_marginTop="28dp"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@+id/text_conversion"
app:layout_constraintTop_toBottomOf="@+id/inputTemp" />
<TextView <TextView
android:id="@+id/textView2" android:id="@+id/textView2"
android:layout_width="410dp" android:layout_width="match_parent"
android:layout_height="44dp" android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Temperature Conversion" android:text="Temperature Conversion"
android:textAlignment="center" android:textAlignment="center"
android:textSize="24sp" android:textSize="24sp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="8dp" /> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<TextView <TextView
android:id="@+id/text_Temp" android:id="@+id/text_Temp"
android:layout_width="128dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="16dp"
android:layout_marginTop="4dp"
android:lineSpacingExtra="10sp"
android:text="Temperature:" android:text="Temperature:"
android:textAlignment="center"
android:textSize="20sp" android:textSize="20sp"
android:typeface="sans" app:layout_constraintBottom_toBottomOf="@+id/inputLayoutTemp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" /> app:layout_constraintTop_toTopOf="@+id/inputLayoutTemp" />
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:layout_width="408dp" android:id="@+id/inputLayoutTemp"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="16dp"
tools:layout_editor_absoluteY="44dp"> app:hintEnabled="false"
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/inputTemp"
android:layout_width="280dp"
android:layout_height="41dp"
android:hint="Enter Temperature"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/text_Temp" app:layout_constraintStart_toEndOf="@+id/text_Temp"
app:layout_constraintTop_toBottomOf="@+id/textView2" /> app:layout_constraintTop_toBottomOf="@+id/textView2">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/inputTemp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Temperature"
android:textColorHint="#9E9E9E"
android:inputType="numberDecimal|numberSigned" />
</com.google.android.material.textfield.TextInputLayout>
<TextView <TextView
android:id="@+id/text_conversion" android:id="@+id/text_conversion"
android:layout_width="109dp" android:layout_width="wrap_content"
android:layout_height="28dp" android:layout_height="wrap_content"
android:layout_marginTop="40dp" android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:text="Conversion:" android:text="Conversion:"
android:textSize="20sp" android:textSize="20sp"
app:layout_constraintTop_toBottomOf="@+id/text_Temp" app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteX="4dp" /> app:layout_constraintTop_toBottomOf="@+id/inputLayoutTemp" />
<TextView
android:id="@+id/result"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="16dp"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="@+id/text_conversion"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/text_conversion"
app:layout_constraintTop_toTopOf="@+id/text_conversion" />
<Button <Button
android:id="@+id/but_cToF" android:id="@+id/but_cToF"
android:layout_width="409dp" android:layout_width="0dp"
android:layout_height="51dp" android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:layout_marginEnd="16dp"
android:backgroundTint="#A9A7A7"
android:text="C to F" android:text="C to F"
android:textColorLink="#A09F9F" android:textColor="#FFFFFF"
app:layout_constraintTop_toBottomOf="@+id/text_conversion" app:cornerRadius="0dp"
tools:layout_editor_absoluteX="34dp" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_conversion" />
<Button <Button
android:id="@+id/but_fToC" android:id="@+id/but_fToC"
android:layout_width="409dp" android:layout_width="0dp"
android:layout_height="51dp" android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="8dp"
android:backgroundTint="#A9A7A7"
android:text="F to C" android:text="F to C"
app:layout_constraintTop_toBottomOf="@+id/but_cToF" android:textColor="#FFFFFF"
tools:layout_editor_absoluteX="0dp" /> app:cornerRadius="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/but_cToF" />
<Button <Button
android:id="@+id/but_reset" android:id="@+id/but_reset"
android:layout_width="409dp" android:layout_width="0dp"
android:layout_height="51dp" android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="8dp"
android:backgroundTint="#A9A7A7"
android:text="Reset" android:text="Reset"
app:layout_constraintTop_toBottomOf="@+id/but_fToC" android:textColor="#FFFFFF"
tools:layout_editor_absoluteX="-13dp" /> app:cornerRadius="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/but_fToC" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>