Estou iniciando agora em android e tenho uma atividade da faculdade para fazer, porém o datePickers que está configurado aparece uma tela enorme com um calendário que ocuparia meia tela, fica bem impossível trabalhar com outro conteúdo.
Como poderia configurar para apenas clicar em um ícone ou algo do tipo e apenas abrir o calendário após o clique e sumir assim que estiver escolhida a data?
(Seria para uma tela de cadastro de pessoas)
Como criar um DatePickers no Android Studio?
A
1 Resposta
R
Eu fiz essa classe para um aplicativo meu:
package me.roinujnosde.estacomsede.dialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.widget.DatePicker;
import java.util.Calendar;
/**
* Author RoinujNosde
* Tacomsede - 2018
*/
public class SelecionadorDataDialog extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
DatePickerDialog.OnDateSetListener listener;
try {
listener = (DatePickerDialog.OnDateSetListener) requireActivity();
} catch (ClassCastException ex) {
throw new IllegalStateException("A Activity deve implementar OnDateSetListener", ex);
}
Calendar agora = Calendar.getInstance();
Calendar minima = Calendar.getInstance();
Calendar maxima = Calendar.getInstance();
minima.set(Calendar.YEAR, agora.get(Calendar.YEAR) - 120);
maxima.set(Calendar.YEAR, agora.get(Calendar.YEAR) - 1);
//Definindo data inicial do widget
DatePickerDialog dialog = new DatePickerDialog(requireContext(), listener,
agora.get(Calendar.YEAR), agora.get(Calendar.MONTH),
agora.get(Calendar.DAY_OF_MONTH));
//Definindo data minima do widget
dialog.getDatePicker().setMinDate(minima.getTimeInMillis());
//Definindo data maxima
dialog.getDatePicker().setMaxDate(maxima.getTimeInMillis());
return dialog;
}
}
Você mostra o diálogo assim:
DialogFragment selecionadorDeData = new SelecionadorDataDialog();
selecionadorDeData.show(getSupportFragmentManager(), "data");
E a Activity que vai mostrar esse diálogo deve implementar a interface DatePickerDialog.OnDateSetListener.
Criado 18 de março de 2021
Ultima resposta 18 de mar. de 2021
Respostas 1
Participantes 2
Alura O que é Firebase? Para que serve, principais característica e um Guia dessa ferramenta Google O poder do Firebase! Saiba como a plataforma pode impulsionar suas aplicações web e mobile, descobrindo tudo neste artigo completo.
Casa do Codigo A Web Mobile: Programe para um mundo de muitos dispositivos Por Sergio Lopes — Casa do Codigo