从 constraintlayout 的循环中设置视图子项的重力
Set gravity of view children from loop of constraintlayout
当我访问使用 ConstraintLayout
循环动态创建为 TextView
的子级时,它们返回为 View
,没有 setGravity
.
有谁知道设置这些视图重力的方法(TextView
/child 的重力,而不是布局)?
for (int i = 0;i < constraintLayout.getChildCount();i++) {
final View child = constraintLayout.getChildAt(i);
Object tag = child.getTag(R.id.tagId);
if(tag != null) {
//child.setGravity(Gravity.START); // Doesn't work...
} else {} }
我没有看到任何设置 Gravity
的选项
ConstraintLayout.LayoutParams
或 ConstraintSet
。
此外,我尝试了 final TextView child = (TextView) constraintLayout.getChildAt(i);
:但是,这导致了致命异常:java.lang.ClassCastException:android.widget.ImageView 无法转换为 android.widget.TextView。注意:子项是textviews,不是imageviews...
首先将视图投射到 TextView
,然后调用 setGravity
。
final View child = constraintLayout.getChildAt(i);
Object tag = child.getTag(R.id.tagId);
if (tag != null) {
if (child instanceof TextView) {
TextView tv = (TextView) child;
tv.setGravity(Gravity.START);
}
} else {}
当我访问使用 ConstraintLayout
循环动态创建为 TextView
的子级时,它们返回为 View
,没有 setGravity
.
有谁知道设置这些视图重力的方法(TextView
/child 的重力,而不是布局)?
for (int i = 0;i < constraintLayout.getChildCount();i++) {
final View child = constraintLayout.getChildAt(i);
Object tag = child.getTag(R.id.tagId);
if(tag != null) {
//child.setGravity(Gravity.START); // Doesn't work...
} else {} }
我没有看到任何设置 Gravity
的选项
ConstraintLayout.LayoutParams
或 ConstraintSet
。
此外,我尝试了 final TextView child = (TextView) constraintLayout.getChildAt(i);
:但是,这导致了致命异常:java.lang.ClassCastException:android.widget.ImageView 无法转换为 android.widget.TextView。注意:子项是textviews,不是imageviews...
首先将视图投射到 TextView
,然后调用 setGravity
。
final View child = constraintLayout.getChildAt(i);
Object tag = child.getTag(R.id.tagId);
if (tag != null) {
if (child instanceof TextView) {
TextView tv = (TextView) child;
tv.setGravity(Gravity.START);
}
} else {}