Closed Stathis001 closed 7 months ago
Η υλοποίηση ενός Button για την επιλογή γλώσσας σε ένα Android app μπορεί να γίνει με διάφορους τρόπους, ανάλογα με τις απαιτήσεις του έργου σας. Εδώ παρουσιάζω μια απλή προσέγγιση χρησιμοποιώντας το Button και την κλάση Locale για την αλλαγή της γλώσσας.
Πρώτα-πρώτα, προσθέστε ένα Button στο αρχείο XML της διάταξής σας (π.χ., start_screen.xml):
<Button android:id="@+id/languageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Επιλογή Γλώσσας" android:layout_marginTop="16dp" app:layout_constraintTop_toBottomOf="@id/startButton" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/> Στη συνέχεια, στο αρχείο MainActivity.java ή το αντίστοιχο αρχείο Java της δραστηριότητάς σας, προσθέστε τον κώδικα για την αλλαγή της γλώσσας όταν το Button πατηθεί: java import android.content.res.Configuration; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import java.util.Locale;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_screen);
Button languageButton = findViewById(R.id.languageButton);
languageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Καλέστε τη μέθοδο για την αλλαγή της γλώσσας
changeLanguage("en"); // Εδώ χρησιμοποιείται η κωδική ονομασία για τα Αγγλικά ("en")
}
});
}
// Μέθοδος για την αλλαγή της γλώσσας
private void changeLanguage(String languageCode) {
Locale locale = new Locale(languageCode);
Locale.setDefault(locale);
Configuration configuration = new Configuration();
configuration.setLocale(locale);
getResources().updateConfiguration(configuration, getBaseContext().getResources().getDisplayMetrics());
// Εδώ μπορείτε να ξανα-φορτώσετε τη δραστηριότητά σας για να εφαρμοστεί η αλλαγή
recreate();
}
} Αυτός ο κώδικας χρησιμοποιεί την κλάση Locale για να ορίσει τη γλώσσα και την κλάση Configuration για να αλλάξει τη γλώσσα των πόρων. Τέλος, η μέθοδος recreate() επαναφορτώνει τη δραστηριότητά σας, εφαρμόζοντας τις αλλαγές στη γλώσσα.
Αν είναι εφικτό μετά το άτομο/α που το έχουν αναλάβει προχωρούν στην υλοποίησή του.