2016-07-20 11 views
0

Gut die Frage sagt alles, ich benutze ein CalendarView in meinem Layout für eine einfache Monatsansicht, wo ein Benutzer ein Datum auswählen kann, aber aus irgendeinem Grund nimmt das CalendarView nur den ganzen Bildschirm auf, Gibt es eine Möglichkeit, das CalendarView nur einen Monat nach dem anderen anzeigen zu lassen, anstatt den ganzen Bildschirm aufzunehmen? DankCalendarView Höhe, um aktuellen Monat zu wickeln

xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<CalendarView 
    android:id="@+id/calendar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

</CalendarView> 

</LinearLayout> 

java:

public class CalendarActivity extends AppCompatActivity { 

    CalendarView calendarview; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.calendar_layout); 

     calendarview = (CalendarView) findViewById(R.id.calendar); 

} 
} 
+1

den zugehörigen Code angeben! – johnrao07

+0

@ johnrao07 es ist nur ein einfacher Kalender xml Tag aber ok –

Antwort

1

Es ist allerdings nicht ganz einfach. Ich habe eine calenderview verwenden, ich habe es diese Bibliothek auf Github

https://github.com/SundeepK/CompactCalendarView

Versuchen Sie es mit es, es ist ziemlich flexibel und erweiterbar!

+0

nein es ist nicht, einige Monate werden nicht ganz zeigen und einige werden, verschiedene Monate haben unterschiedliche Größen –

+0

sry bro, versuchen Sie es mit einer Bibliothek statt! – johnrao07

+0

danke wird es überprüfen, aber die Sache ist, dass überall während der Suche sehe ich es nur einen Monat pro Rolle dsplays, so bin ich sicher, es gibt eine Lösung –

0

Wenn der Benutzer nur ein Datum abruft, können Sie das DatePickerFragment verwenden. Es scheint nur einen Monat seit Lollipop.

ein DatePickerFragment Erstellen

public static class DatePickerFragment extends DialogFragment 
         implements DatePickerDialog.OnDateSetListener { 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    // Use the current date as the default date in the picker 
    final Calendar c = Calendar.getInstance(); 
    int year = c.get(Calendar.YEAR); 
    int month = c.get(Calendar.MONTH); 
    int day = c.get(Calendar.DAY_OF_MONTH); 

    // Create a new instance of DatePickerDialog and return it 
    return new DatePickerDialog(getActivity(), this, year, month, day); 
} 

public void onDateSet(DatePicker view, int year, int month, int day) { 
    // Do something with the date chosen by the user 
    } 
} 

die Fragmet zeigt

DialogFragment newFragment = new DatePickerFragment(); 
newFragment.show(getSupportFragmentManager(), "datePicker"); 

Hoffnung diese Hilfe, weitere Informationen für Pickers here

+0

danke, ich bin bewusst, die Datumsauswahl Dialogfeld, aber ich möchte das CalendarView verwenden Implementiere es in meinem Layout –

0

es

0 innerhalb eines Scroll Put
<ScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <CalendarView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/calendarView" /> 
</ScrollView> 

das funktioniert für mich.

Verwandte Themen