gpt4 book ai didi

android - 是否可以自定义 CalendarView 小部件以显示事件并自定义颜色(渐变色)?

转载 作者:行者123 更新时间:2023-11-29 15:33:51 25 4
gpt4 key购买 nike

我目前正在开发一个应用程序,但我一直在实现该应用程序的日历部分。现在我正在尝试实现与此类似的东西:

我没有在原始日历 View 上找到任何功能,这些功能可以让我在天数下显示事件指示器,添加渐变颜色而不是纯色等。我想在我的应用中实现这个设计:

enter image description here

我尝试使用 SundeepK 的 Compact Calendar View,但是我没有设法实现一个事件适配器来配合这个日历,我总是在传递上下文时收到错误,因为自定义日历不使用上下文。

下面的这段代码我试图实现 ListView 以填充当月的事件。因此,在每月加载或滚动时,事件将被加载并传递给适配器, ListView 将填充新事件。但是,无论我做什么,我总是会遇到无法将 android.Context 转换为自定义日历上下文的错误。

日历 Activity .java

        compactCalendarView.setListener(new CompactCalendarView.CompactCalendarViewListener() {
@Override
public void onDayClick(Date dateClicked) {
List<Event> bookingsFromMap = compactCalendarView.getEvents(dateClicked);
EventListAdapter adapter = new EventListAdapter(context, bookingsFromMap);

ListView listView = (ListView) findViewById(R.id.calendar_event_list);
listView.setAdapter(adapter);

Log.d(TAG, "inside onclick " + simple_date_format.format(dateClicked));
if (bookingsFromMap != null) {
Log.d(TAG, bookingsFromMap.toString());
mutableBookings.clear();
for (Event booking : bookingsFromMap) {
mutableBookings.add((String) booking.getData());
Log.d(TAG, "Events in this day found!");
}
} else {
Log.println(Log.VERBOSE,TAG, "\n NO EVENTS FOUND \n");
}
}

事件列表适配器.java

public class EventListAdapter extends ArrayAdapter<Event> {

public EventListAdapter(Context context, List<Event> feeds) {
super(context,0,feeds);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
Event feed = getItem(position);
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.event_feed_item_row, parent, false);
}

TextView eventName = (TextView) convertView.findViewById(R.id.event_list_dataText);
TextView eventDay = (TextView) convertView.findViewById(R.id.event_list_dayTextView);
TextView eventMonth = (TextView) convertView.findViewById(R.id.event_list_monthTextView);

SimpleDateFormat simple_month = new SimpleDateFormat("Mmm", Locale.US);
SimpleDateFormat simple_day = new SimpleDateFormat("dd", Locale.US);
eventName.setText((String) feed.getData());
eventMonth.setText(simple_month.format(feed.getTimeInMillis()));
eventDay.setText(simple_day.format(feed.getTimeInMillis()));

return convertView;
}
}

现在从这里的截图来看:

日历背景只能是纯色当我想有一个渐变作为背景时,就像选择的日期一样是纯色。 enter image description here

事件列表项如下所示(试图找到一种按月动态添加事件的方法): enter image description here

理想的版本应该是这样的: enter image description here

如有任何建议,我们将不胜感激。

最佳答案

要以简单快速的方式做到这一点,您只需要遵循这个 git hub 库,它有很多选项可以完成您需要的功能。

链接 ( https://github.com/mahimrocky/EventCalender )

底部也会使用数据库在 Recyler View 中创建

关于android - 是否可以自定义 CalendarView 小部件以显示事件并自定义颜色(渐变色)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57086202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com