gpt4 book ai didi

android - 在 material-calendarview 中向日期添加文本

转载 作者:行者123 更新时间:2023-12-04 10:17:28 28 4
gpt4 key购买 nike

我正在使用这个 material calendar view .它的可定制选项看起来非常丰富。

但是没有如何在某些日期的day下写文本的例子。

我认为我可以使用 DayViewDecorator 但是如何使用短字符串来做到这一点?我试过:

    calendarView.addDecorator(new DayViewDecorator() {
@Override
public boolean shouldDecorate(CalendarDay day) {
return true;
}

@Override
public void decorate(DayViewFacade view) {
view.addSpan(new SpannableString("ABC"));
}
});

没有成功。

最佳答案

@托马斯·类德拉斯就像您使用 dotspan 类一样。假设您想为每个日期添加价格,然后使用下面的代码。

class AddTextToDates(text: String) : LineBackgroundSpan{

private var dayPrice = text

override fun drawBackground(
canvas: Canvas,
paint: Paint,
left: Int,
right: Int,
top: Int,
baseline: Int,
bottom: Int,
text: CharSequence,
start: Int,
end: Int,
lnum: Int
) {
canvas.drawText(dayPrice,((left+right)/4).toFloat(),(bottom+15).toFloat(),paint)
}
}

decorate 中的装饰器类中,函数添加上面的类,因为这里的 span 是完整的类。

class YourDecorator(dates: List<CalendarDay>,priceText:String) :DayViewDecorator {
private val dates: HashSet<CalendarDay> = HashSet(dates)
var priceDay = priceText

override fun shouldDecorate(day: CalendarDay): Boolean {
return dates.contains(day)
}

override fun decorate(view: DayViewFacade) {
view.addSpan(AddTextToDates(priceDay))
view.setDaysDisabled(true)
}

}

工作示例 browse这段代码,如果对你有用,别忘了加星。希望对大家有帮助:)

关于android - 在 material-calendarview 中向日期添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61008523/

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