android - studio - Centrar programáticamente el texto de TextView
settitle center toolbar android (6)
Intente agregar el siguiente código para aplicar los parámetros de diseño a TextView
LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(LinearLayout.CENTER_IN_PARENT);
textView.setLayoutParams(lp);
Pido algo de indulgencia aquí, estoy empezando con los tutoriales de Android SDK y estoy intentando algo que no está en el tutorial, pero espero que sea fácil.
Estoy tratando de centrar un elemento TextView
por código de forma horizontal y vertical (puedo hacerlo en XML muy bien). He visto varios ejemplos de cómo hacer esto cuando el padre es una mesa u otro objeto, pero espero que esto sea más fácil de entender. (ps Siéntase libre de corregir mi terminología).
Aquí está el código de ejemplo del tutorial / mi modelo de trabajo:
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();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
textView.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
setContentView(textView);
}
}
He logrado localizar el método setGravity
, y he intentado meterme en el setLayoutParams
, pero no estoy seguro de cuál es el alcance, ya que no puedo encontrar lo que debería importar para obtener el WRAP_CONTENT
constante para resolver Por lo que entendí, el centrado y el contenido_el envolvimiento + la gravedad son dos cosas separadas. Me gustaría un ejemplo de cómo hacer ambas cosas en este caso y tal vez ¿cómo / dónde habría encontrado la respuesta en la documentación de la API?
Para dinámicamente centrar
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
esto funcionará con seguridad ...
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);
si el tamaño del texto es pequeño, debe hacer que el ancho de la vista de texto sea "fill_parent". Después de eso, puedes configurar tu TextView Gravity en el centro:
TextView textView = new TextView(this);
textView.setText(message);
textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
textView.setGravity(Gravity.CENTER);
TextView text = new TextView(this);
text.setGravity(Gravity.CENTER);
y
text.setGravity(Gravity.TOP);
y
text.setGravity(Gravity.BOTTOM);
y
text.setGravity(Gravity.LEFT);
y
text.setGravity(Gravity.RIGHT);
y
text.setGravity(Gravity.CENTER_VERTICAL);
y
text.setGravity(Gravity.CENTER_HORIZONTAL);
Y más también disponible
yourTextView.setGravity(Gravity.CENTER);