我正在以编程方式将TextView添加到ConstrainLayout。定位工作正常,但我不能将文本的重力设置为左。它以指南为中心。
conLayout.addView(myTextView);
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(conLayout);
constraintSet.connect(myTextView.getId(), ConstraintSet.TOP, divider.getId(), ConstraintSet.BOTTOM);
constraintSet.connect(myTextView.getId(), ConstraintSet.LEFT, R.id.guideline1, ConstraintSet.LEFT);
constraintSet.connect(myTextView.getId(), ConstraintSet.RIGHT, R.id.guideline2, ConstraintSet.LEFT);
constraintSet.constrainDefaultHeight(myTextView.getId(), ConstraintSet.WRAP_CONTENT);
constraintSet.applyTo(conLayout);
myTextView.setGravity(Gravity.LEFT);
当我在XML中执行以上所有操作时,重力正常,但我需要以编程方式添加此textview。
答案 0 :(得分:0)
myTextView.setGravity(Gravity.LEFT);
如果我没记错的话:它设定了内部重力"又称TextView中的文本重力。如果这是你想要的 - 确保设置所需大小的LayoutParams。 (默认是WrapContent,宽度和高度)
答案 1 :(得分:0)
尝试使用此
LayoutParams lp = new LayoutParams();
lp.gravity = Gravity.LEFT;
myTextView.setLayoutParams(lp);
答案 2 :(得分:0)
我通过创建" dummy"解决了这个问题。 textview with gravity:left属性,并将实际TextView的LayoutParams设置为dummy.getLayoutParams()。