如何添加图标或更改calendarview的日期图标?

我正在开发一个日历应用程序,这是我想要做的; 例如,我在一个月的不同日子和日历上有各种活动,我想在有活动的日子里添加一个图标(例如音乐会)。 如果一天没有活动,这一天不会有图标。

注意:我使用CalendarView作为日历界面。

这是我想要解释的图像;

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

请帮助我在这个特殊的日子里添加这些小图标。

提前致谢。


你将不得不创建自定义的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;
}
}

你可以做一些类似的设置每月的日子。 随意问任何问题。


另一种选择是使用CalendarProvider。 你可以参考这个:http://developer.android.com/guide/topics/providers/calendar-provider.html

链接地址: http://www.djcxy.com/p/64971.html

上一篇: How to add icon or change calendarview's day icon?

下一篇: Generating single page HTML JavaDoc