Toda e qualquer aplicação, precisamos trabalhar com controles, como botões, campos de seleção como option, checkbox, dropbox entre outros. Nesse artigo mostrarei os principais controles do android e como trabalhar como eles.
View
A classe View é responsável pela criação de qualquer componente gráfico, ela é a base para os componentes visuais, então todos os controles que falaremos a adiante herdam dessa classe.
Widget
Essa classe é a classe filha de view, que representa os componentes.
TextView – android.widget.TextView
Esse controle é o mais simples de todos, ele represente um texto como se fosse um label na tela.
EditText – android.widget.EditTex
Esse controle representa um campo editavel, onde poderemos inserir informações, tanto textos comuns como senhas.

Figura 1: EditText
Spinner – android.widget.Spinner
Essa classe é utilizada como um dropbox(combo), muito parecido com a tag
public class AndroidConrole extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Spinner
final List estados = new ArrayList();
estados.add("SP");
estados.add("RJ");
estados.add("SC");
Spinner cboEstados = (Spinner)findViewById(R.id.Spinner01);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item, estados);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cboEstados.setAdapter(adapter);
cboEstados.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parent, View view,
int posicao, long id) {
// TODO Auto-generated method stub
Toast.makeText(AndroidConrole.this, "Você clicou em " +
estados.get(posicao), Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView> arg0) {
// TODO Auto-generated method stub
}
});
}
} 
Figura 2: Spinner
Radio Button – android.widget.RadioButton
Esse controle, muito comum em aplicações desktop e web, permitem somente a seleção de uma opção, veja um exemplo abaixo.
public class AndroidConrole extends Activity {
/** Called when the activity is first created. */
private int statusProgress=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//RadioButton
final RadioGroup group = (RadioGroup)findViewById(R.id.Sim_Nao);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int id) {
// TODO Auto-generated method stub
if(id == R.id.Sim)
Toast.makeText(AndroidConrole.this, "Você clicou em sim", Toast.LENGTH_LONG).show();
else if(id==R.id.Nao)
Toast.makeText(AndroidConrole.this, "Você clicou em não", Toast.LENGTH_LONG).show();
}
});
}
}Observe que nos controles RadioButton, agrupamos outro controle sobre eles o RadioGroup, assim aplicamos o evento a eles a cada seleção.

Figura 3: RadioGroup
Espero que tenha gostado e até a proxima