onMeasure をオーバーライドするカスタム RelativeLayout があるとします。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(200, 200);
}
ここで、このレイアウトに、このカスタム RelativeLayout の下部に位置合わせするビューを追加したいと思います。しかし、結果なしでさまざまなことを試しました:
paramsButton.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
addView (mButton, paramsButton);
私の最初の推測は、下を親に揃えることでした(これはカスタムのRelativeLayoutですよね?)。しかし、明らかに、それは私のカスタム レイアウト (今回はカスタムではなく、別の RelativeLayout です) の親と一致します。
だから私は id に合わせようとしました:
paramsButton.addRule(RelativeLayout.ALIGN_BOTTOM, getId());
addView (mButton, paramsButton);
しかし、それも機能していません(ボタンが消えます)NB:カスタムRelativeLayoutのIDを明示的に設定して、Androidが正しいIDを取得したことを確認しました。
これを機能させる方法はありますか?
編集: 面白いこと:次のルールでうまく機能します
paramsButton.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
addView (mButton, paramsButton);
だから私は本当に理解していないと言わざるを得ない
RelativeLayout.ALIGN_PARENT_BOTTOM
ルールが通用しない…