我需要将图像视图与 textview 重叠。并且这个组合视图将在 LinearLayout 中重复 100 次。当 FrameLayout 保持 imageview 和 textview 重叠时,我正在考虑在 LinearLayout 中使用 FrameLayout 并在 LinearLayout 中重复 FrameLayout 100 次。需要以编程方式执行此操作,而不是从 xml 文件。
我先将图像和文本视图添加到框架布局,然后尝试将框架布局添加到线性布局。但它说:指定的孩子已经有了父母..所以不工作。你能用代码告诉我吗?谢谢你的帮助。
它会是这样,但需要以编程方式完成
---linear layout--------------
------------------------------
|frame layout----------------|
||txt view on top of img view|
------------------------------
frame layout will be repeated|
---/end of linear layout------
这里也是分离的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
LinearLayout dynamicview = (LinearLayout) findViewById(R.id.main_layout);
FrameLayout barFrameLayout = new FrameLayout(this);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT,
Gravity.CENTER);
barFrameLayout.setLayoutParams(params);
LinearLayout.LayoutParams slparams1 = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
for (int i = 65; i <= 75; i++) {
TextView catTV = new TextView(this);
catTV.setLayoutParams(slparams1);
catTV.setText("===" + Character.toString((char) i) + "===");
catTV.setTextSize(32);
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.ic_launcher);
iv.setLayoutParams(slparams1);
barFrameLayout.addView(catTV);
barFrameLayout.addView(iv);
dynamicview.addView(barFrameLayout);
}
}