相対レイアウトを mainLayout (これも相対レイアウト) に動的に追加しようとしています。ボタンをクリックしてレイアウトを複数回追加できるようにしています。しかし、追加された最初のレイアウトが画面の左側に、2 番目のレイアウトが中央に、3 番目のレイアウトが右側に表示されるようにしたい...モジュラス演算子を使用してこれを行いましたが、機能していません。
以下は私のコードです
LinearLayout mLinearLayout;
RelativeLayout rlcopy;
RelativeLayout[] rArray = new RelativeLayout[20];
int counter = 1;
RelativeLayout llcustomrow;
RelativeLayout.LayoutParams relativeLayoutParams;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mLinearLayout = (LinearLayout) inflater.inflate(
R.layout.customworkout, container, false);
llcustomrow = (RelativeLayout)mLinearLayout.findViewById(R.id.llcustomrow);
for(int i = 1;i<rArray.length-1;i++){
rArray[i] = (RelativeLayout)View.inflate(getActivity(), R.layout.addworkoutlayout, null);
if(i%3 == 1 ){
rArray[i].setGravity(Gravity.LEFT);
}else if(i%3 == 2){
rArray[i].setGravity(Gravity.CENTER_HORIZONTAL);
}else{
rArray[i].setGravity(Gravity.RIGHT);
}
}
Button bAdd = (Button) mLinearLayout.findViewById(R.id.bAddExcercise);
bAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
llcustomrow.addView(rArray[counter]);
counter++;
}
});
return mLinearLayout;
}
問題は重力を設定しているところだと思いますが、何もしていないと思います