2014-09-10 8 views
0

je veux afficher la date de dialogue Sélecteur comme cette image enter image description herecomment afficher la boîte de dialogue comme Fragment de l'activité

Je m en mesure d'ouvrir la boîte de dialogue avec l'aide de code, mais qui ressemblent à la vieille version de Datepicker

je veux datepicker Comme je l'image qui posté

ici est mon DateDilogefragment.java

public class DateDialogFragment extends SherlockDialogFragment {  

public static String TAG = "DateDialogFragment"; 
static Context mContext; 
static int mYear; 
static int mMonth; 
static int mDay; 
static DateDialogFragmentListener mListener; 


public static DateDialogFragment newInstance(Context context, DateDialogFragmentListener listener, Calendar now) { 
    DateDialogFragment dialog = new DateDialogFragment(); 
    mContext = context; 
    mListener = listener;  
    mYear = now.get(Calendar.YEAR); 
    mMonth = now.get(Calendar.MONTH); 
    mDay = now.get(Calendar.DAY_OF_MONTH);  
    return dialog; 
} 


public Dialog onCreateDialog(Bundle savedInstanceState) { 
    return new DatePickerDialog(mContext, mDateSetListener, mYear, mMonth, mDay); 
} 


private OnDateSetListener mDateSetListener = new OnDateSetListener() {  
    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
     mYear = year; 
     mMonth = monthOfYear; 
     mDay = dayOfMonth;   
     mListener.updateChangedDate(year, monthOfYear, dayOfMonth); 
    } 


}; 


public interface DateDialogFragmentListener { 
    public void updateChangedDate(int year, int month, int day); 
} 

} 

et ma classe Activité

 btn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       showDatePickerDialog(); 
      } 
     }); 



    } 



    public void showDatePickerDialog() { 
     // TODO Auto-generated method stub 
     now = Calendar.getInstance(); 
     DateDialogFragment frag = DateDialogFragment.newInstance(
       this, new DateDialogFragment.DateDialogFragmentListener() { 
      public void updateChangedDate(int year, int month, int day) { 
       tv.setText(String.valueOf(day) + "-" + String.valueOf(month+1) + "-" + String.valueOf(year));        
       now.set(year, month, day); 
       //pet.setBirthdate(birthdate.getText().toString()); 
      } 
     }, 
     now); 
     FragmentManager fm = getSupportFragmentManager(); 
     frag.show(fm, "DateDialogFragment"); 
    } 
} 

pouvez vous S'il vous plaît dire ce que je fais mauvais ..why ma boîte de dialogue est ouverte comme ancienne version ??

Le mien est ouvert comme enter image description here

Thanku dans adavance

+0

Je pense que depand sur la version OS d'appareil –

Répondre

0

Modifier le thème de l'application:

<style name="AppTheme" parent="android:Theme.Holo.Light"> 
     <item name="android:windowNoTitle">true</item> 
</style> 

Cela devrait résoudre votre problème.

+0

mais comment retirer mon titre Bar –

+0

j'ai essayé setFlags GetWindow() (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN). // Masque la barre de titre de cette fenêtre d'activité getWindow(). RequestFeature (Window.FEATURE_NO_TITLE); mais pas Workign ne pas cacher ma barre de Tital –

0

Ce sélecteur de date se trouve dans des appareils plus anciens, de nouveaux niveaux d'API fournissent le thème Lumière. Et votre thème est noir foncé. Si vous allez exécuter votre APP dans un appareil qui a l'API ci-dessus 14 (Peut-être qu'il est mis en œuvre dans Honeycomb). Changez votre style pour Theme.Light Vous pouvez vérifier votre style dans les dossiers de valeur.

+0

ok @Dhaval laissez-moi vérifier –

+0

J'ai Galaxy Ace qui a API lvl 10 (2.3.6) pain d'épice. Il me montre le même sélecteur noir et si j'essaye dans l'émulateur au-dessus de l'API 14 il me montre des sélecteurs de couleur claire. – Shvet

Questions connexes