Style: Amélioration design et présentation 'Comment Jouer'

- Intégration d'une police personnalisée (Winky Sans) via res/font et styles.xml
  pour améliorer l'apparence générale du texte (scores, boutons, stats, etc.).
- Remplacement de l'AlertDialog simple pour 'Comment Jouer' par un layout
  personnalisé (dialog_how_to_play.xml) utilisant un ScrollView pour une
  meilleure lisibilité.
- Mise à jour de la méthode showHowToPlayDialog() dans MainActivity pour
  utiliser le nouveau layout.
This commit is contained in:
Augustin ROUX 2025-04-04 14:47:44 +02:00
parent 2a782950cd
commit d12f323eae
5 changed files with 82 additions and 7 deletions

View File

@ -450,14 +450,24 @@ public class MainActivity extends AppCompatActivity {
}
/**
* Affiche une boîte de dialogue simple expliquant les règles du jeu.
* Affiche une boîte de dialogue expliquant les règles du jeu,
* en utilisant un layout personnalisé pour une meilleure présentation.
*/
private void showHowToPlayDialog() {
new AlertDialog.Builder(this)
.setTitle(R.string.how_to_play_title)
.setMessage(R.string.how_to_play_instructions)
.setPositiveButton(R.string.ok, (dialog, which) -> dialog.dismiss())
.show();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.dialog_how_to_play, null); // Gonfle le layout
builder.setView(dialogView);
builder.setCancelable(true); // Permet de fermer en cliquant à côté
// Récupère le bouton OK DANS la vue gonflée
Button okButton = dialogView.findViewById(R.id.dialogOkButtonHowToPlay);
final AlertDialog dialog = builder.create();
okButton.setOnClickListener(v -> dialog.dismiss()); // Ferme simplement
dialog.show();
}
/**

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:app="http://schemas.android.com/apk/res-auto">
<font
app:fontStyle="normal"
app:fontWeight="400"
app:font="@font/winkysans" /> <font
app:fontStyle="normal"
app:fontWeight="700"
app:font="@font/winkysans" /> </font-family>

Binary file not shown.

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp"
android:background="@drawable/dialog_background">
<TextView
android:id="@+id/dialogTitleHowToPlay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/how_to_play_title"
style="@style/SectionTitle" android:gravity="center"
android:layout_marginBottom="16dp"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginBottom="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/howToPlayTextContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/how_to_play_instructions"
android:textColor="@color/text_tile_low"
android:textSize="16sp"
android:lineSpacingExtra="4dp"
android:fontFamily="@font/nunito_family"/>
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/dialogOkButtonHowToPlay"
style="@style/ButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="0dp" android:layout_marginEnd="0dp"
android:layout_marginTop="8dp" android:layout_marginBottom="0dp"
android:text="@string/ok" />
</LinearLayout>

View File

@ -3,6 +3,7 @@
</style>
<style name="ScoreLabelStyle">
<item name="android:fontFamily">@font/nunito_family</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">0dp</item>
<item name="android:layout_weight">1</item>
@ -14,6 +15,7 @@
</style>
<style name="ButtonStyle">
<item name="android:fontFamily">@font/nunito_family</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:backgroundTint">@color/button_background</item>
@ -26,6 +28,7 @@
</style>
<style name="LargeButtonStyle">
<item name="android:fontFamily">@font/nunito_family</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginStart">@dimen/padding_general</item>
@ -41,12 +44,14 @@
</style>
<style name="SectionTitle">
<item name="android:fontFamily">@font/nunito_family</item>
<item name="android:textSize">18sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/text_tile_high</item> <item name="android:layout_marginBottom">4dp</item>
<item name="android:textColor">@color/text_tile_low</item> <item name="android:layout_marginBottom">4dp</item>
</style>
<style name="SectionContainer">
<item name="android:fontFamily">@font/nunito_family</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">vertical</item>
@ -55,6 +60,7 @@
</style>
<style name="StatLabel">
<item name="android:fontFamily">@font/nunito_family</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@color/text_tile_low</item> <item name="android:textSize">16sp</item>