是否可以从新的 ConstraintLayout 以编程方式设置 Guideline 的方向?
我正在使用这个版本的 ConstraintLayout 库:
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha3'
如果你反编译 ConstraintLayout 类,你可以看到 LayoutParams 有字段“orientation”,但它不是一个公共字段,也没有 setter 方法。
是否可以从新的 ConstraintLayout 以编程方式设置 Guideline 的方向?
我正在使用这个版本的 ConstraintLayout 库:
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha3'
如果你反编译 ConstraintLayout 类,你可以看到 LayoutParams 有字段“orientation”,但它不是一个公共字段,也没有 setter 方法。
使用当前版本的库,在代码中,您可以使用约束集设置指南的方向。
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(constraintLayout);
constraintSet.create(R.id.guideline, ConstraintSet.VERTICAL_GUIDELINE);
您必须将app:orientation更改为android:orientation
将方向属性命名空间从 app 更改为 android 以修复与 GridLayout 的冲突
在最近的日志中可用。
您不能手动编辑 Guideline 类,因为它使用Android 中不可用的java.awt.Rectangle和java.awt 库。
所以我想以编程方式这是不可能的,但你可以通过 XML 来做到这一点。
我希望它会给你一些线索,或者如果你仍然有问题,那么你可以在谷歌代码问题上发布你的问题。
您需要更新到 ConstraintLayout alpha 6 - 方向字段已公开。