Centre de texte TextView text

Je prie un peu de clémence ici, je ne fais que commencer par les tutoriels sur le SDK Android et je tente quelque chose qui ne soit pas dans le didacticiel, mais j’espère que ce sera facile.

J’essaie de centrer un élément TextView par code horizontalement et verticalement (je peux le faire en XML très bien). J’ai vu plusieurs exemples de la façon de procéder lorsque le parent est une table ou un autre object, mais j’espère que cela sera plus facile à comprendre. (ps N’hésitez pas à corriger ma terminologie).

Voici l’exemple de code du tutoriel / mon modèle de travail:

 package com.example.myfirstapp; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.ViewGroup.LayoutParams; import android.widget.TextView; public class DisplayMessageActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); Ssortingng message = intent.getSsortingngExtra(MainActivity.EXTRA_MESSAGE); TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); textView.setGravity(View.TEXT_ALIGNMENT_GRAVITY); setContentView(textView); } } 

J’ai réussi à localiser la méthode setGravity , et j’ai essayé de la setLayoutParams dans setLayoutParams , mais je ne suis pas sûr de la scope car je ne peux pas trouver ce que je devrais importer pour obtenir le WRAP_CONTENT constante à résoudre. D’après ce que j’ai compris, le centrage et content_wrapping + gravity sont deux choses distinctes. J’aimerais un exemple de comment faire les deux dans ce cas et peut-être comment / où j’aurais trouvé la réponse dans la documentation de l’API?

 yourTextView.setGravity(Gravity.CENTER); 

Pour dynamicment centrer

 textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); 
 TextView text = new TextView(this); text.setGravity(Gravity.CENTER); 

et

 text.setGravity(Gravity.TOP); 

et

 text.setGravity(Gravity.BOTTOM); 

et

 text.setGravity(Gravity.LEFT); 

et

 text.setGravity(Gravity.RIGHT); 

et

 text.setGravity(Gravity.CENTER_VERTICAL); 

et

 text.setGravity(Gravity.CENTER_HORIZONTAL); 

Et plus encore disponible

cela fonctionnera à coup sûr ..

 RelativeLayout layout = new RelativeLayout(R.layout.your_layour); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.CENTER_IN_PARENT); params.addRule(LinearLayout.CENTER_IN_PARENT); textView.setLayoutParams(params); textView.setGravity(Gravity.CENTER); layout.addView(textView); setcontentView(layout); 

Essayez d’append le code suivant pour appliquer les parameters de mise en page à TextView

 LayoutParams lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lp.addRule(LinearLayout.CENTER_IN_PARENT); textView.setLayoutParams(lp); 

Si la taille de votre texte est petite, vous devez définir la largeur de votre vue texte comme “fill_parent”. Après cela, vous pouvez définir votre Gravité TextView pour centrer:

 TextView textView = new TextView(this); textView.setText(message); textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); textView.setGravity(Gravity.CENTER); 

Vous pouvez utiliser les éléments suivants pour centrer TextView texte le texte TextView dans Kotlin:

 textview.gravity = Gravity.CENTER