1

画像ビューとそのすぐ下にチェックボックスが必要です。近いものを手に入れることができました。しかし、私のチェックボックスは中央に配置されていません。チェックボックスを中央に配置するにはどうすればよいですか? これが私のコードです:

        // Creating a new LinearLayout
         linearLayout = new LinearLayout(mContext);

        // Setting the orientation to vertical
        linearLayout.setOrientation(LinearLayout.VERTICAL);

        // Defining the LinearLayout layout parameters to wrap content.
        LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);



        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setImageResource(mThumbIds[position]);
        imageView.setPadding(8, 8, 8, 8);

        linearLayout.addView(imageView);

        CheckBox checkbox = new CheckBox(mContext);
        checkbox.setGravity(Gravity.CENTER);//this does not help

        linearLayout.addView(checkbox);

4

2 に答える 2

0

xmlファイルでチェックボックスLinearLayoutを別のチェックボックスに移動することをお勧めします。または、画像ビューLinearLayoutの下にを挿入します。RelativeLayout

于 2013-02-05T06:28:06.277 に答える
0

くそ!あなたの場合RelativeLayout、 よりも便利ですLinearLayout

を使用して達成しましRelativeLayoutた。以下のコードを確認してください。

RelativeLayout layout = new RelativeLayout(this);


        RelativeLayout.LayoutParams llp = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);




        RelativeLayout.LayoutParams imageparam = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);

         ImageView imageView = new ImageView(this);

        //imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setImageResource(R.drawable.testing);
        imageView.setPadding(8, 8, 8, 8);
        imageView.setLayoutParams(imageparam);
        imageView.setId(1);
        layout.addView(imageView);

        RelativeLayout.LayoutParams checkparam = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);

        CheckBox checkbox = new CheckBox(this);

        checkparam.addRule(RelativeLayout.BELOW, imageView.getId());

        checkparam.addRule(RelativeLayout.CENTER_IN_PARENT, 1);


        checkbox.setLayoutParams(checkparam);
        layout.addView(checkbox);
        setContentView(layout,llp);
于 2013-02-05T07:15:13.810 に答える