Skocz do zawartości
Grzesiek1994

"OK" i "CANCEL" w kalendarzu

    Rekomendowane odpowiedzi

    Witam, na początku przepraszam jeżeli takie temat już był, lub źle opisałem problem, ale dopiero zaczynam przygodę z programowaniem na androida.

    A więc pisze aplikacje która ma wyświetlać kalendarz a na dole chciałbym żeby pojawiały sie przyciski "Cancel" i "Ok" jak na razie wyświetla mi sie kalendarz, ale bez tych przycisków :/

    jak je dodać? oraz jak później podpiąć pod nie jakaś akcję??(wyświetlenie napisu po wciśnięciu któregoś z klawisza)

    Mój kod:

    package com.example.szupek.datepickerszupek;
    
    import android.graphics.Color;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.CalendarView;
    import android.widget.TextView;
    import android.view.Menu;
    import java.util.Calendar;
    
    public class MainActivity extends AppCompatActivity {
        CalendarView simpleCalendarView;
        TextView dateDisplay;
        Calendar c;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            dateDisplay = (TextView) findViewById(R.id.textView_display);
            dateDisplay.setText("Date: ");
            simpleCalendarView = (CalendarView) findViewById(R.id.simpleCalendarView); // get the reference of CalendarView
            simpleCalendarView.setFocusedMonthDateColor(Color.RED); // set the red color for the dates of  focused month
            simpleCalendarView.setUnfocusedMonthDateColor(Color.BLUE); // set the yellow color for the dates of an unfocused month
            simpleCalendarView.setSelectedWeekBackgroundColor(Color.RED); // red color for the selected week's background
            simpleCalendarView.setWeekSeparatorLineColor(Color.GREEN); // green color for the week separator line+
    
            c=Calendar.getInstance();
            int year_c = c.get(Calendar.YEAR);
            int mont_c = c.get(Calendar.MONTH);
            int day_c = c.get(Calendar.DAY_OF_MONTH);
            dateDisplay.setText("Date: "+ year_c+"/"+(mont_c+1)+"/"+day_c);
            // perform setOnDateChangeListener event on CalendarView
            simpleCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
    
                    dateDisplay.setText("Date: " + year + " / " + month + " / " + dayOfMonth);
    
                }
            });
    
         
    
    
    }
    
    
    
    
    }

    W załączniku dodałem zdjęcie jak chciałbym zeby to wyglądało - Ok i cancel na dole kalendarza.

     

    Pozdrawiam i czekam na odpowiedź

    Grzesiek

    kal.png

    Edytowane przez Grzesiek1994

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    pavloasto

    A nie lepiej użyć gotowego?

    Tu masz nawet tutorial video:

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Chciałbym jeszcze w moim kalendarzu dodać zmianę koloru dnia, jeżeli dodam do tego dnia jakieś wydarzenie. Mógłby ktoś powiedzieć jak to można zmieniać?? Jak edytować tylko jeden dzień, bo mogę zmienić kolor całego tygodnia/linii separujących dni/kolor tła całego miesiąca, więc edycja pojedynczego dnia też powinna być

    Oraz jak zmieniać wygląd całego kalendarza?? Mój kalendarz robiłem na podstawie tutoriala i jak skończyłem to u mnie na urządzeniu wygląd jest totalnie inny niż w tutorialu, domniemam ze to przez różne wersje androida, ale da sie to gdzieś ustalać, chodzi mi to głownie, ze na tutorialu gość miał możliwość przesuwania miesięcy w lewo/prawo(tak jak w pierwszym moim poście) a u mnie nie tego nie ma.

    Rozszerzam moją klase główną o FragmentActivity

    Pozdrawiam

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    merid

    Z tego co mi mówili inni to w googlowym kalendarzu nie ma możliwość zmian szczegółów i dlatego trzeba zrobić swój customowy kalendarz

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x