Time Picker from 00:00:00 AM / PM format with seconds in android

In my Android Tracking Android project, I want a TimePicker with a seconds field. After I figured out so much, I did not find any solution, and finally I make my custom TimePicker for Android, which gives the time values ​​in the format 00:00:00 AM / PM. I think this code is useful to Android developers, so I upload this code to Stack.

main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:text="Time" android:id="@+id/time_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_centerInParent="true" android:id="@+id/time_txt" android:textStyle="bold" android:textSize="25dp" android:textColor="#ffffff" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> 

customdialog.xml

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingBottom="4dp" android:background="#ffffff" > <RelativeLayout android:id="@+id/first" android:layout_margin="2dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#000000" > <ImageView android:id="@+id/clock" android:layout_margin="2dp" android:src="@drawable/coggl_logo" android:layout_width="40dp" android:layout_height="40dp" /> <TextView android:id="@+id/actualtime" android:layout_toRightOf="@+id/clock" android:textColor="#ffffff" android:text="00:00:00 AM" android:textSize="25dp" android:textStyle="bold" android:layout_margin="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> <RelativeLayout android:id="@+id/second" android:layout_below="@+id/first" android:layout_margin="2dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#000000" android:paddingBottom="15dp" > <Button android:id="@+id/plus1" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="15dp" android:text="+" android:textSize="20dp" android:textStyle="bold" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:id="@+id/plus2" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="15dp" android:layout_toRightOf="@+id/plus1" android:text="+" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:id="@+id/plus3" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="15dp" android:layout_toRightOf="@+id/plus2" android:text="+" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:id="@+id/hours" android:layout_marginTop="2dp" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_below="@+id/plus1" android:text="00" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:layout_toRightOf="@+id/hours" android:id="@+id/minutes" android:layout_marginTop="2dp" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_below="@+id/plus2" android:text="00" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:layout_toRightOf="@+id/minutes" android:id="@+id/seconds" android:layout_marginTop="2dp" android:layout_marginLeft="12dp" android:layout_below="@+id/plus3" android:text="00" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:layout_toRightOf="@+id/seconds" android:id="@+id/am" android:layout_marginTop="2dp" android:layout_marginLeft="12dp" android:layout_below="@+id/plus3" android:text="AM" android:textColor="#000000" android:layout_width="60dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:layout_toRightOf="@+id/seconds" android:id="@+id/pm" android:layout_marginTop="2dp" android:layout_marginLeft="12dp" android:layout_below="@+id/plus3" android:text="PM" android:textColor="#000000" android:layout_width="60dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:id="@+id/minus1" android:layout_below="@+id/hours" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="2dp" android:text="-" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:layout_toRightOf="@+id/minus1" android:id="@+id/minus2" android:layout_below="@+id/minutes" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="2dp" android:text="-" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> <Button android:textSize="20dp" android:textStyle="bold" android:layout_toRightOf="@+id/minus2" android:id="@+id/minus3" android:layout_below="@+id/seconds" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_marginTop="2dp" android:text="-" android:textColor="#000000" android:layout_width="50dp" android:layout_height="40dp" /> </RelativeLayout> <RelativeLayout android:id="@+id/third" android:layout_below="@+id/second" android:layout_marginLeft="2dp" android:layout_marginRight="2dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#000000" android:paddingBottom="5dp" > <Button android:textSize="20dp" android:textStyle="bold" android:id="@+id/set" android:layout_margin="10dp" android:layout_width="130dp" android:layout_height="wrap_content" android:text="Set" android:textColor="#000000" /> <Button android:textSize="20dp" android:textStyle="bold" android:id="@+id/cancel" android:layout_toRightOf="@+id/set" android:layout_margin="10dp" android:layout_width="135dp" android:layout_height="wrap_content" android:text="Cancel" android:textColor="#000000" /> </RelativeLayout> </RelativeLayout> 

CustomTimePickerDialogActivity.Java

  public class CustomTimePickerDialogActivity extends Activity { TextView tv; Button time_btn; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); tv=(TextView)findViewById(R.id.time_txt); time_btn=(Button)findViewById(R.id.time_btn); time_btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub showTimePickerDialog(); } }); } public void showTimePickerDialog() { final Dialog dialog=new Dialog(CustomTimePickerDialogActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.customdialog); final TextView actualtime=(TextView)dialog.findViewById(R.id.actualtime); final Button hourplus=(Button)dialog.findViewById(R.id.plus1); Button minplus=(Button)dialog.findViewById(R.id.plus2); Button secplus=(Button)dialog.findViewById(R.id.plus3); Button hourminus=(Button)dialog.findViewById(R.id.minus1); Button minminus=(Button)dialog.findViewById(R.id.minus2); Button secminus=(Button)dialog.findViewById(R.id.minus3); final Button am=(Button)dialog.findViewById(R.id.am); final Button pm=(Button)dialog.findViewById(R.id.pm); final Button hourvalue=(Button)dialog.findViewById(R.id.hours); final Button minvalue=(Button)dialog.findViewById(R.id.minutes); final Button secvalue=(Button)dialog.findViewById(R.id.seconds); Button set=(Button)dialog.findViewById(R.id.set); Button cancel=(Button)dialog.findViewById(R.id.cancel); dialog.show(); Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int seconds = calendar.get(Calendar.SECOND); String curhour=String.valueOf(hour); String curmin=String.valueOf(minute); String cursec=String.valueOf(seconds); if(curhour.length()== 1) { curhour="0"+curhour; } if(curmin.length()== 1) { curmin="0"+curmin; } if(cursec.length()== 1) { cursec="0"+cursec; } if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; if(am_pm.equalsIgnoreCase("AM")) { am.setVisibility(View.VISIBLE); pm.setVisibility(View.GONE); } else { pm.setVisibility(View.VISIBLE); am.setVisibility(View.GONE); } if(curhour.equalsIgnoreCase("00")) { curhour="12"; } actualtime.setText(curhour+":"+curmin+":"+cursec+" "+am_pm); hourvalue.setText(curhour); minvalue.setText(curmin); secvalue.setText(cursec); am.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub pm.setVisibility(View.VISIBLE); am.setVisibility(View.GONE); String tmphour=hourvalue.getText().toString(); String tmpmin=minvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); actualtime.setText(tmphour+":"+tmpmin+":"+tmpsec+" "+"PM"); } }); pm.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub am.setVisibility(View.VISIBLE); pm.setVisibility(View.GONE); String tmphour=hourvalue.getText().toString(); String tmpmin=minvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); actualtime.setText(tmphour+":"+tmpmin+":"+tmpsec+" "+"AM"); } }); cancel.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub dialog.dismiss(); } }); set.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmphour=hourvalue.getText().toString(); String tmpmin=minvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(tmphour+":"+tmpmin+":"+tmpsec+" "+tmpam_pm); dialog.dismiss(); tv.setText(tmphour+":"+tmpmin+":"+tmpsec+" "+tmpam_pm); } }); hourplus.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmphour=hourvalue.getText().toString(); int curdisplayhr=Integer.parseInt(tmphour); int finaldisplayhr = 0; if(curdisplayhr<12) { finaldisplayhr=curdisplayhr+1; } else if(curdisplayhr==12) { finaldisplayhr=1; } String finalhr=String.valueOf(finaldisplayhr); if(finalhr.length()==1) { finalhr="0"+finalhr; } hourvalue.setText(finalhr); String tmpmin=minvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(finalhr+":"+tmpmin+":"+tmpsec+" "+tmpam_pm); } }); minplus.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmpmin=minvalue.getText().toString(); int curdisplaymin=Integer.parseInt(tmpmin); int finaldisplaymin = 0; if(curdisplaymin<59) { finaldisplaymin=curdisplaymin+1; } else if(curdisplaymin==59) { finaldisplaymin=0; } String finalmin=String.valueOf(finaldisplaymin); if(finalmin.length()==1) { finalmin="0"+finalmin; } minvalue.setText(finalmin); String tmphour=hourvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(tmphour+":"+finalmin+":"+tmpsec+" "+tmpam_pm); } }); secplus.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmpsec=secvalue.getText().toString(); int curdisplaysec=Integer.parseInt(tmpsec); int finaldisplaysec = 0; if(curdisplaysec<59) { finaldisplaysec=curdisplaysec+1; } else if(curdisplaysec==59) { finaldisplaysec=0; } String finalsec=String.valueOf(finaldisplaysec); if(finalsec.length()==1) { finalsec="0"+finalsec; } secvalue.setText(finalsec); String tmphour=hourvalue.getText().toString(); String tmpmin=minvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(tmphour+":"+tmpmin+":"+finalsec+" "+tmpam_pm); } }); hourminus.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmphour=hourvalue.getText().toString(); int curdisplayhr=Integer.parseInt(tmphour); int finaldisplayhr = 0; if(curdisplayhr==1) { finaldisplayhr=12; } else if(curdisplayhr>1||curdisplayhr<13) { finaldisplayhr=curdisplayhr-1; } String finalhr=String.valueOf(finaldisplayhr); if(finalhr.length()==1) { finalhr="0"+finalhr; } hourvalue.setText(finalhr); String tmpmin=minvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(finalhr+":"+tmpmin+":"+tmpsec+" "+tmpam_pm); } }); minminus.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmpmin=minvalue.getText().toString(); int curdisplaymin=Integer.parseInt(tmpmin); int finaldisplaymin = 0; if(curdisplaymin==0) { finaldisplaymin=59; } else { finaldisplaymin=curdisplaymin-1; } String finalmin=String.valueOf(finaldisplaymin); if(finalmin.length()==1) { finalmin="0"+finalmin; } minvalue.setText(finalmin); String tmphour=hourvalue.getText().toString(); String tmpsec=secvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(tmphour+":"+finalmin+":"+tmpsec+" "+tmpam_pm); } }); secminus.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String tmpsec=secvalue.getText().toString(); int curdisplaysec=Integer.parseInt(tmpsec); int finaldisplaysec = 0; if(curdisplaysec==0) { finaldisplaysec=59; } else { finaldisplaysec=curdisplaysec-1; } String finalsec=String.valueOf(finaldisplaysec); if(finalsec.length()==1) { finalsec="0"+finalsec; } secvalue.setText(finalsec); String tmphour=hourvalue.getText().toString(); String tmpmin=minvalue.getText().toString(); String tmpam_pm=""; if(am.getVisibility()== View.VISIBLE) { tmpam_pm="AM"; } if(pm.getVisibility()== View.VISIBLE) { tmpam_pm="PM"; } actualtime.setText(tmphour+":"+tmpmin+":"+finalsec+" "+tmpam_pm); } }); } } 
+7
source share

All Articles