2012-12-02 18 views
24


Sto iniziando a imparare come sviluppare su Android. E 'piuttosto semplice ma sto affrontare un problema non ho trovato alcuna menzione da nessuna parte ...Perché il datepicker aggiunge un calendario nella mia vista?

Ho una visione:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingLeft="16dp" 
android:paddingRight="16dp" 
android:orientation="vertical"> 

    <EditText 
     android:id="@+id/editNomProduit" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="@string/ht_nom_produit" /> 



    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="16dp" 
android:paddingRight="16dp" 
android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/labelQuantiteProduitEdit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/labelQuantiteProduitEdit" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

<EditText 
     android:id="@+id/editQuantite" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="number" /> 

<Spinner 
    android:id="@+id/spinnerUnite" 
    android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="16dp" 
android:paddingRight="16dp" 
android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/labeDateAchatProduitEdit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/labelDateAchatProduitEdit" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <DatePicker 
      android:id="@+id/dpDateAchatProduit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

</LinearLayout> 

</LinearLayout> 

Quali visualizzato un datepicker. Il fatto è che il raccoglitore di date sembra aggiungere un calendario oltre ai classici rulli per il selezionatore di date (vedi immagine). Non voglio questa visione, giustifica il rullo per la data. Sto usign il raccoglitore di date nel modo sbagliato o è questo il comportamento originale? Grazie!

Guillaume

Date picker with canlendar

risposta

69

aggiungere questa linea al vostro selezione data XML

android:calendarViewShown="false" 

Questo rimuoverà il calendario.

+0

In effetti questo ha aiutato molto! Grazie – Guigui

+0

Il mio piacere, felice che abbia aiutato – CocoNess

+0

Questo è sbagliato! Non funziona con Android 5.0! – Mulgard

6

Tutto quello che dovete aggiungere sotto il:

<datepicker> 

metodo, basta aggiungere:

android:calendarViewShown="false" 

Questo eliminerà il calendario, ma mantenere lo scroller.

Spero che questo aiuti

2

Ho avuto lo stesso problema. Non ho creato alcun file xml. Così ho risolto cambiando il valore di calendarviewshow in Attività. Spero che possa aiutare qualcuno.

Possiamo nascondere la vista del calendario in DatePicker utilizzando due metodi.

1 In Layout (file XML) (Grazie a @coconess)

<DatePicker 
    android:id="@+id/datepickerv1" 
    android:calendarViewShown="false"> 

2 In Attività (file Java)

Note: If you are not using "calendarViewShow" in xml, follow this step. 
DatePicker dp=(DatePicker)findViewById(R.id.datepickerv1); 
dp.setCalendarViewShown(false); 
+0

setCalendarViewShown è deprecato nella versione API 24, e ora? – Michael

1

Change il tuo datepicker da xml come segue:

<DatePicker 
 
android:id="@+id/dpDateAchatProduit" 
 
android:layout_width="wrap_content" 
 
android:layout_height="wrap_content" 
 
android:calendarViewShown="false" />

1

Aggiungi

android:datePickerMode="spinner" 

invece di

android:calenderViewShown="false" 
Problemi correlati