我有以下问题:
下面的代码成功地将我的 TextView 添加到我的自定义 RelativeLayout:
RectF rectRecord = getItemRect(trCurrent);
TextView tv = new TextView(this.getContext());
tv.setLeft((int)rectRecord.left);
tv.setRight((int)rectRecord.right);
tv.setTop((int)rectRecord.top);
tv.setBottom((int)rect.bottom);
addView(tv);
不幸的是,这些方法(“setLeft,setRight,setTop,setBottom”)在 3.0 之前的 Android 上不可用。所以我尝试以另一种方式添加我的 TextView:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.setMargins((int)rectRecord.left, (int)rectRecord.top, (int)rectRecord.right, (int)rectRecord.bottom);
//tv.setLayoutParams(tv);
addView(tv, params);
这样做不会显示儿童控制......
我已经尝试将我的主机控件派生自 ViewGroup 的类更改为 LinearLayout、RelativeLayout 和已弃用的 AbsoluteLayout,但始终相同。还删除了我的自定义 onDraw 和 onMeasure 以及“setWillNotDraw(false);” 但这并没有解决我的问题。
片段 1 正在显示我的子视图。
片段 2 没有显示孩子。
谁能指出这个问题的解决方案?