[Android] Como criar varios CheckBox com espaçamentos

Olá, estou começando agora a programar agora, e tenho uma duvida.
Estou criando um app de lista de chamada para o alguns ônibus no qual tenho que add certa quantidade de pessoas, como são vários ônibus e as pessoas são diferentes, cada representante ira add o nome de cada passageiro.

A duvida é como add vários Checkbox, cada um com nome de pessoa diferente e com espaçamento.
(Já fiz o código, o problema é os espaçamento do checkBox.)

My code

[details=Codigo] package br.unisantos.iampresent;

import android.content.Context;
import android.content.DialogInterface;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button add;
    private Button resultado;
    private FrameLayout container;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        container = (FrameLayout) findViewById(R.id.frameCheckBox);
        add = (Button) findViewById(R.id.btnAdd);
        resultado = (Button) findViewById(R.id.btnResultado);

        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                exibirMensagemEdt("Novo Aluno(New Student)", "Adicionar novo aluno, click ok", container);
            }
        });



    }


    public void exibirMensagemEdt(String titulo, String texto, final FrameLayout frameLayout){

        AlertDialog.Builder mensagem = new AlertDialog.Builder(MainActivity.this);
        mensagem.setTitle(titulo);
        mensagem.setMessage(texto);
        // DECLARACAO DO EDITTEXT
        final EditText input = new EditText(this);
        mensagem.setView(input);
        mensagem.setNeutralButton("OK", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {

                if (input.getText().toString().isEmpty()) {
                    Toast.makeText(getApplicationContext(), "Texto em Branco",
                            Toast.LENGTH_SHORT).show();
                } else {
                    criarNovoAluno(frameLayout, input.getText().toString());
                    Toast.makeText(getApplicationContext(), input.getText().toString().trim(),
                            Toast.LENGTH_SHORT).show();
                }
            }

        });

        mensagem.show();
        // FORÇA O TECLADO APARECER AO ABRIR O ALERT
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);




    }

    public void criarNovoAluno(FrameLayout frameLayout, String texto){

        //Criando um botão passando o contexto
        CheckBox aluno = new CheckBox(this);
        aluno.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT  ));
        //(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
        aluno.setText(texto);
        aluno.animate();

        //Adicionando o botão na tela
        frameLayout.addView(aluno);

    }

}

[/details]

Imagem do EMU com checkbox Juntas

Porquê FrameLayout? Eu usaria um linear com orientation vertical. Já tentou definir o espaçamento com padding na checkbox?

1 curtida

Usei para criar um container e nesse container adicionar os checkBox. irei tentar usar o linear e o padding, não tinha pensando.

KKKKK, DEU CERTO, MUITO OBRIGADO @Andrauss

Valeu