好的,有很多问题,但大多数都是旧的或每种情况都是独一无二的。
我有这个布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:id="@+id/phaseParent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="01"
android:textSize="16sp"
android:layout_marginLeft="-20dp"
android:id="@+id/phaseNumbers"/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@drawable/state_bubble"
android:id="@+id/phaseBubbles"/>
<View
android:background="@color/verticalLine"
android:layout_width="70dp"
android:layout_height="2dp"
android:layout_marginTop="15dp"
android:id="@+id/break1"/>
</RelativeLayout>
</LinearLayout>
根据列表中的项目总数动态添加到此父级:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/phaseListItems"
android:gravity="center">
</LinearLayout>
现在选择我抓住这样的项目并激活它
for(int i = 0; i < totalPhases; i++) {
if(i != phasePosition){
phaseListItems.getChildAt(i).setActivated(false);
View child = phaseListItems.getChildAt(i);
}
}
现在我抓住View就像这样,此时想要改变文本颜色,大小如果可能的话TextView phaseNumbers和相位泡影的ImageView中的图片大小...我正在为孩子尝试instanceOf但是难以正确实施它,请允许我知道谢谢!
问题: 如何在动态添加的线性布局中定位子textview和imageview?
答案 0 :(得分:2)
您可以使用findViewById抓取TextView。 在你的循环中
TextView tvPhaseNumbers = (TextView)child.FindViewById(R.id. phaseNumbers)
然后你可以在tvPhasesNumbers上应用你需要的任何东西。