2016-06-16 4 views
2

Ich benutze npanigrahy: Custom-Calendar-View, um meinen benutzerdefinierten Kalender anzuzeigen, aber mein Problem ist, wie kann ich erreichen, runden Kugeln auf Ereignis in Kalender erstellt hinzufügen ist es schwer für mich zu tun, weil es das erste Mal, dass ich diese Art zu entwickeln von Modul Ich hoffe, dass jeder empfehlen oder lehren könnteWie fügt man kreisförmigen Dekorator in Kalendertagesansicht hinzu?

Antwort

5

Es ist die beste Möglichkeit, this Bibliothek zu verwenden. Ich habe wie diese impelemented:

calendarView.addDecorators(new CurrentDayDecorator(this)); 

und hier CurrentDayDecatator Klasse:

package com.calendar.util; 

import android.app.Activity; 
import android.content.Context; 
import android.graphics.drawable.Drawable; 
import android.support.v4.content.ContextCompat; 

import com.calendar.MainActivity; 
import com.calendar.R; 
import com.prolificinteractive.materialcalendarview.CalendarDay; 
import com.prolificinteractive.materialcalendarview.DayViewDecorator; 
import com.prolificinteractive.materialcalendarview.DayViewFacade; 

import java.util.Calendar; 
import java.util.Collection; 
import java.util.Date; 

/** 
* Created by Navruz on 17.06.2016. 
*/ 
public class CurrentDayDecorator implements DayViewDecorator { 

private Drawable drawable; 

CalendarDay currentDay = CalendarDay.from(new Date()); 

public CurrentDayDecorator(Activity context) { 
    drawable = ContextCompat.getDrawable(context,  R.drawable.first_day_month); 

} 

@Override 
public boolean shouldDecorate(CalendarDay day) { 
    return day.equals(currentDay); 
} 

@Override 
public void decorate(DayViewFacade view) { 
    view.setSelectionDrawable(drawable); 
} 
} 

Und hier itis ziehbar circele die first_day_month gestattet

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:exitFadeDuration="@android:integer/config_shortAnimTime"> 

<item android:state_checked="true" 
     android:drawable="@drawable/selected_bg_color" /> 

<item android:state_pressed="true" 
     android:drawable="@drawable/selected_bg_color" /> 

<item android:drawable="@drawable/red_circle" /> 

red_circle:

selected_bg_color:

<?xml version="1.0" encoding="utf-8"?> 
<shape 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="oval"> 

<solid 
    android:color="@color/selected_color"/> 

<size 
    android:width="120dp" 
    android:height="120dp"/> 

+0

danken Ihnen sehr viel, was ich tun möchte, ist, dass jeder Dekorateur aus dem Calendar Schleife und die Anzahl der Ereignisse bestimmen oder mit der Zählung btw Ihre Idee ist großartig, danke –

+0

@JabesPauya Sie sind herzlich willkommen! – nAkhmedov

+0

Hallo ich verwende diese Version von Gradle, d. H. {compile 'com.github.npanigrahy: Custom-Kalender-View: v1.0'} Hier kann ich nicht implementieren Schnittstelle Name DayViewDecorator. Darf ich bitte wissen, was ich tun muss, um diese Schnittstelle zu benutzen. – user2273146

Verwandte Themen