O Spinner, ou lista suspensa, é um componente visual no Android que permite ao usuário selecionar uma opção de uma lista. Ele é especialmente útil quando você quer economizar espaço na interface e oferecer ao usuário uma seleção limitada de valores, como uma lista de países, opções de categorias ou níveis de dificuldade. Neste post, aprenda como criar uma lista suspensa de valores (Spinner) em Android.
1. Adicionando um Spinner ao layout
Para começar, você precisa adicionar um Spinner ao layout XML do seu aplicativo. No arquivo XML do layout, adicione o seguinte código:
<Spinner
android:id="@+id/spinner_exemplo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
2. Criando o array de valores
Para preencher o Spinner, você precisa definir os valores que serão exibidos. A melhor maneira de fazer isso é criando um arquivo strings.xml
com uma lista de valores, chamada string-array
.
No arquivo res/values/strings.xml
, adicione:
<resources>
<string-array name="opcoes_spinner">
<item>Opção 1</item>
<item>Opção 2</item>
<item>Opção 3</item>
</string-array>
</resources>
3. Configurando o Spinner no código
No arquivo da atividade (Activity), configure o Spinner para exibir as opções da lista criada no strings.xml
.
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Obtenha o Spinner
Spinner spinner = findViewById(R.id.spinner_exemplo);
// Crie um ArrayAdapter usando a lista de strings e o layout padrão do Spinner
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.opcoes_spinner, android.R.layout.simple_spinner_item);
// Especifica o layout a ser usado quando a lista de opções aparecer
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Aplica o adaptador ao Spinner
spinner.setAdapter(adapter);
// Configura um Listener para capturar a opção selecionada
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Obtém o item selecionado
String opcaoSelecionada = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), "Selecionado: " + opcaoSelecionada, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Caso nenhum item seja selecionado
}
});
}
}
4. Explicação do Código
- ArrayAdapter: O
ArrayAdapter
é usado para vincular o array de strings ao Spinner, configurando os itens que ele deve exibir. - setOnItemSelectedListener: Esse método adiciona um ouvinte que será acionado sempre que uma opção for selecionada. No exemplo, ele exibe a opção selecionada em um
Toast
.
5. Personalizando o Spinner
Você pode personalizar o Spinner com diferentes layouts, cores e estilos. Experimente alterar o layout padrão para customizar a aparência:
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
6. Utilizando dados dinâmicos
Se precisar de dados dinâmicos (ex.: de uma API ou banco de dados), é possível popular o Spinner programaticamente com um ArrayList<String>
e passar para o ArrayAdapter
.
ArrayList<String> dadosDinamicos = new ArrayList<>();
dadosDinamicos.add("Dinâmico 1");
dadosDinamicos.add("Dinâmico 2");
ArrayAdapter<String> adapterDinamico = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, dadosDinamicos);
spinner.setAdapter(adapterDinamico);
Outro exemplo prático
Para incluir um spinner em seu aplicativo, insira as seguintes linhas no arquivo xml de layout:
<Spinner
android:id="@+id/color" //nome de itentificação do componente
//posicionamento do componente na tela
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
//
android:entries="@array/itens" /> //chama o array de strings
A linha android:entries=”@array/itens” significa que as entradas do spinner vêm do array “itens”.
Para popular esse array, edite o arquivo strings.xml inserindo as seguintes linhas
<string-array name="itens">
<item>pendrive</item>
<item>HD</item>
<item>Mouse</item>
<item>Teclado</item>
<item>Cabo de rede</item>
</string-array>
Dessa forma, quando o spinner for tocado na tela, será mostrada a lista de itens elencada no código acima.
O Spinner é um componente versátil e fácil de configurar, perfeito para exibir listas de opções em uma interface limpa e intuitiva. Com ele, você melhora a experiência do usuário e mantém a interface organizada.
Além do curso, você receberá mais 3 BÔNUS, o curso completo de JavaScript e também o Curso de React JS e Node JS onde vamos desenvolver aplicações e sistemas web do zero.
Garanta a sua vaga ainda hoje e aproveite a nossa super promoção!
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS DETALHES:
Dúvidas ou sugestões sobre como criar uma lista suspensa de valores (Spinner) em Android.? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários