私は次の問題を抱えています:
以下のコードは、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);」を削除しました。しかし、それは私の問題を解決しませんでした。
Snippet1は私の子ビューを表示しています。
Snippet2には子は表示されません。
誰かがこの問題の解決策を指摘できますか?