7

私はカレンダーアプリケーションを開発しています。これが私がやりたいことです。たとえば、月のさまざまな日にさまざまな活動があり、カレンダーで、活動がある日にアイコンを追加したい(コンサートなど)。その日に活動がない場合、その日にはアイコンがありません。

注: カレンダー UI として CalendarView を使用しています。

これが私が説明しようとしている画像です。

http://postimage.org/image/kdejw72nb/

この小さなアイコンをこの特定の日に追加するのを手伝ってください.

前もって感謝します。

4

2 に答える 2

3

カスタムgridViewを作成する必要があります。これは次のようになります。

平日のレイアウト

<GridView
    android:id="@+id/weekdays"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:clickable="false"
    android:numColumns="7" />

日のlayout.xml

<GridView
    android:id="@+id/days"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:numColumns="7" />

平日を表示するためのJavaコード

GridView weekdays = (GridView) linearLayout.findViewById(R.id.weekdays);
weekdays.setAdapter(new Weekdays());


public class WeekDays extends BaseAdapter {
String[] weekdays = null;

public WeekDayAdapter() {
  DateFormatSymbols dateFormatSymbols= new DateFormatSymbols();

  weekdays = = dateFormatSymbols.getShortWeekdays();
}

public int getCount() {
  return 7;
}

public Object getItem(int position) {
  return weekdays[position];
}

public long getItemId(int position) {
  return GridView.INVALID_ROW_ID;
}

public View getView(int position, View convertView, ViewGroup parent) {
  View view = null;

  view = new LinearLayout(parent.getContext());
  view.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
  view.setOrientation(Horizontal);

  LinearLayout linearLayout = new LinearLayout(parent.getContext());
  linearLayout.setOrientation(Vertical);

  TextView weekDays = new TextView(parent.getContext());
  weekDays.setText(weekdays[position + 1]);

  linearLayout.addView(weekDays);

  view.addView(linearLayout);

  return view;
}
}

月の日を設定するために同様のことを行うことができます。ご不明な点がございましたらお気軽にお問い合わせください。

于 2013-02-02T11:48:01.420 に答える
1

もう 1 つの方法は、CalendarProvider を使用することです。これを参照できます: http://developer.android.com/guide/topics/providers/calendar-provider.html

于 2013-02-02T11:51:45.157 に答える