我创建了一个自定义TextView,我想在某个特定位置动态添加这些TextView,就像在EditText下面一样。有人能告诉我怎么做吗?我想通过java而不是XML动态添加我的自定义textView,如何使用addView()?
XML的一部分(因为我的XML文件非常大):
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainStaffScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- buttons,spinners,edittexts etc-->
<Button
android:id="@+id/specialisationStaffSpinner"
style="?android:attr/spinnerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:gravity="left|center_vertical"
android:text="@string/names" />
<!-- here i want to add my custom view-->
</LinearLayout>
</ScrollView>
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以在要插入自定义TextView的位置添加空LinearLayout,然后在java代码中引用它,然后在LinearLayout上使用addView()。祝好运! :)
答案 2 :(得分:0)
使用相对布局作为父级,它为您提供了实现所需目标的能力 创建布局参数并使用addRule函数
像这样RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, ButtonId);
adsLayout.setLayoutParams(lp);
答案 3 :(得分:0)
如果您使用的是RelativeLayout,则可以通过3个步骤轻松完成。
确保顶部和底部按钮都有有效的ID。
使用RelativeLayout.LayoutParams初始化并指定位置。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, topButton.getId());
params.addRule(RelativeLayout.ABOVE, bottomButton.getId());
3.添加视图。
targetContainer.addView(customTextView, params);
没有RelativeLayout会更难。
答案 4 :(得分:0)
试试这种方式
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.mylayout)
TextView txt1 = new TextView(this, R.drawable.customexml);
linearLayout.addView(txt1);
答案 5 :(得分:0)
只需编辑文本即可开始,在代码中查找引用并更新它并将其可见性设置为View.VISIBLE
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainStaffScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- buttons,spinners,edittexts etc-->
<Button
android:id="@+id/specialisationStaffSpinner"
style="?android:attr/spinnerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:gravity="left|center_vertical"
android:text="@string/names" />
<View
android:visiblity="gone"
android:id="+id/customView
android:layout_width="match_parent"
android:layout_height="wrap_content"
</View>
</LinearLayout>
</ScrollView>