Я пытаюсь добавить TextView
к LinearLayout
таким образом:Android TextView Гравитация не устанавливается программно
private TextView getNeededTextView(MyClass acc)
{
TextView tv = new TextView(context);
tv.setGravity(Gravity.CENTER);
tv.setText(acc.getAccesabiltyString());
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0, 10, 0, 0);
tv.setLayoutParams(params);
return tv;
}
и снаружи: linearLayoutVar.addView(getNeededTextView(myClassVar));
Представление текста добавляется с его текст с верхним краем, но не с гравитацией. Почему это?
Это помогло вам. Я просто не понимал, почему это помогло. Когда я добавляю текстовое представление в xml, я устанавливаю его как WRAP_CONTENT, так почему мне нужно добавить его сейчас как MATCH_PARENT? –
О, нет. Это был просто пример, чтобы вы могли видеть, как работает атрибут 'gravity'. Добавьте свое представление с помощью значения 'WRAP_CONTENT' и вместо того, чтобы установить его значение' gravity', установите значение 'layout_gravity' его' LayoutParams' – Pelocho
, которое я не понял .. Я переключился на MATCH_PARENT и работал с телевизором .setGravity .. все еще не понял, почему это сработало –