MPAndroidChart - chart.setNoDataText 的多行
MPAndroidChart - Multiple lines for chart.setNoDataText
我正在使用 MPAndroidChart 库,如果尚无可用数据,该库会在图表上写入一个字符串。
如果字符串太长,它似乎会溢出到屏幕的两边,所以我想知道是否可以让该文本使用多行,因为 \n
、<p>
,也不 <br>
工作。
设置该文本的方法是chart.setNoDataText(String)
,其中图表是折线图视图。
这是不可能的,如果你看一下库的源代码,这里是它如何绘制文本的
@Override
protected void onDraw(Canvas canvas) {
if (mData == null) {
boolean hasText = !TextUtils.isEmpty(mNoDataText);
if (hasText) {
MPPointF c = getCenter();
canvas.drawText(mNoDataText, c.x, c.y, mInfoPaint);
}
return;
}
if (!mOffsetsCalculated) {
calculateOffsets();
mOffsetsCalculated = true;
}
}
这里是主线
canvas.drawText(mNoDataText, c.x, c.y, mInfoPaint);
库将文本 mNoDataText
绘制为 单行 ,从 c.x、c.y.
开始
canvas.drawText()
不知道如何处理换行符。
我正在使用 MPAndroidChart 库,如果尚无可用数据,该库会在图表上写入一个字符串。
如果字符串太长,它似乎会溢出到屏幕的两边,所以我想知道是否可以让该文本使用多行,因为 \n
、<p>
,也不 <br>
工作。
设置该文本的方法是chart.setNoDataText(String)
,其中图表是折线图视图。
这是不可能的,如果你看一下库的源代码,这里是它如何绘制文本的
@Override
protected void onDraw(Canvas canvas) {
if (mData == null) {
boolean hasText = !TextUtils.isEmpty(mNoDataText);
if (hasText) {
MPPointF c = getCenter();
canvas.drawText(mNoDataText, c.x, c.y, mInfoPaint);
}
return;
}
if (!mOffsetsCalculated) {
calculateOffsets();
mOffsetsCalculated = true;
}
}
这里是主线
canvas.drawText(mNoDataText, c.x, c.y, mInfoPaint);
库将文本 mNoDataText
绘制为 单行 ,从 c.x、c.y.
开始
canvas.drawText()
不知道如何处理换行符。