【问题标题】:Centering TextView in ConstraintLayout programmatically in Android (java)在Android(java)中以编程方式将ConstraintLayout中的TextView居中
【发布时间】:2019-10-24 21:00:52
【问题描述】:

我的代码在右上角有文本视图,经过一定时间后,我希望 TextView 居中。 TextView 在 ConstraintLayout 中。我试过 .setGravity(Gravity.CENTER) 并没有奏效。想知道是否有一种方法可以做到这一点,而实际上不只是制作另一个具有相同内容的隐藏 TextView,然后在时间结束后弹出并隐藏另一个 TextView。

【问题讨论】:

  • 为什么不发布第一次尝试的代码,看看其他人是否可以修复它?这将是一次很好的学习体验。

标签: java android android-studio android-layout android-constraintlayout


【解决方案1】:

我认为您需要更改文本视图的约束。您可以通过编程方式更改约束。

试试这个:

 ConstraintSet set = new ConstraintSet();
    set.clone(textView)
     set.connect(ConstraintSet.PARENT_ID,
                        ConstraintSet.LEFT,
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.LEFT,
                   )
                    set.connect(
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.RIGHT,
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.RIGHT
                    )
                    set.connect(
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.TOP,
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.TOP
                    )

    set.connect(
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.BOTTOM,
                        ConstraintSet.PARENT_ID,
                        ConstraintSet.BOTTOM
                    )

    set.applyTo(textview)

如果它不起作用,请发布您的代码。

【讨论】:

    【解决方案2】:

    只需gravity 设置文本在视图中的重力。所以我猜你的TextView的宽度是wrap_content。在 LinearLayout 中,您可以将宽度设置为 match_parent。由于您使用的是ConstraintLayout,因此如果您为视图的开始和结束(左和右)定义视图约束,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2014-01-09
      • 2016-04-09
      • 1970-01-01
      • 2019-03-05
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      相关资源
      最近更新 更多