linearlayout - Android establece la gravedad de un TextView programáticamente
textview layout android (6)
Debe usar textView.setGravity(Gravity.CENTER_HORIZONTAL);
.
Recuerde que usar
LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams2.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;
no funcionará Esto establecerá la gravedad para el widget y no para su texto.
Puedo usar android:gravity="bottom|center_horizontal"
en xml en una vista de texto para obtener los resultados deseados, pero necesito hacer esto programáticamente. Mi vista de texto está dentro de una tablerow
si eso importa en una relativelayout
.
Yo he tratado:
LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
labelTV.setLayoutParams(layoutParams);
Pero si lo entiendo correctamente, ¿eso se aplicaría a la tablerow
, no a la vista de texto?
Esto centrará el texto en una vista de texto:
TextView ta = (TextView) findViewById(R.layout.text_view);
LayoutParams lp = new LayoutParams();
lp.gravity = Gravity.CENTER_HORIZONTAL;
ta.setLayoutParams(lp);
Podemos establecer la gravedad del diseño en cualquier vista de la siguiente manera-
myView = findViewById(R.id.myView);
myView.setGravity(Gravity.CENTER_VERTICAL|Gravity.RIGHT);
or
myView.setGravity(Gravity.BOTTOM);
Esto es equilátero al código xml a continuación
<...
android:gravity="center_vertical|right"
...
.../>
Usa este código
TextView textView = new TextView(YourActivity.this);
textView.setGravity(Gravity.CENTER | Gravity.TOP);
textView.setText("some text");
labelTV.setGravity(Gravity.CENTER | Gravity.BOTTOM);
Además, ¿estás hablando de gravedad o de layout_gravity? Este último no funcionará en RelativeLayout .
textView.setGravity(Gravity.CENTER | Gravity.BOTTOM);
Esto establecerá la gravedad de su vista de texto.