RelativeLayout をサブクラス化するカスタム レイアウトを作成しています。これを固定サイズにしたいと思います。たとえば、正方形は 250x250、長方形は 300x100 などです。これを実現するために、新しい xml 属性 type.xml を追加しました。レイアウトがどのようなタイプになるかを確認した後、レイアウトのサイズを変更したいと思います。クラスコンストラクターから次のことを試しました:
switch(type)
{
case SQUARE:
setLayoutParams(new MyLayout.LayoutParams(250,250));
break;
case RECTANGLE:
setLayoutParams(new MyLayout.LayoutParams(300,100));
break;
}
ただし、これは xml ファイルの高さと幅をオーバーライドしませんでした。レイアウトからやりたいことを達成する方法はありますか、それとも親コンテナから寸法を変更する必要がありますか?