优化Label显示体验

This commit is contained in:
monitor1394
2024-07-12 21:22:53 +08:00
parent 99d824e3a0
commit b22288eac4
11 changed files with 22 additions and 21 deletions

View File

@@ -75,6 +75,7 @@ slug: /changelog
## master
* (2024.07.12) 优化`Label`显示体验
* (2024.07.06) 修复`Chart`在动态创建时背景没有自适应的问题 (#323)
## v3.11.1

View File

@@ -455,7 +455,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.context.start + offset);
break;
@@ -463,7 +463,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition((axis.context.start + axis.context.end) / 2 + offset);
break;
@@ -471,7 +471,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.context.end + offset);
break;
}
@@ -574,7 +574,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleRight);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
new Vector2(zeroPos.x - offset.x, axisStartY + relativedLength + offset.y + axis.offset) :
new Vector2(zeroPos.x - offset.x, posY + offset.y));
@@ -584,7 +584,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
new Vector2(axisStartX + axisLength / 2 + offset.x, axisStartY + relativedLength - offset.y + axis.offset) :
new Vector2(axisStartX + axisLength / 2 + offset.x, posY + offset.y));
@@ -594,7 +594,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleLeft);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
new Vector2(axisStartX + axisLength + offset.x, axisStartY + relativedLength + offset.y + axis.offset) :
new Vector2(axisStartX + axisLength + offset.x, posY + offset.y));
@@ -611,7 +611,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
new Vector2(axisStartX + relativedLength + offset.x + axis.offset, axisStartY - offset.y) :
new Vector2(posX + offset.x, axisStartY - offset.y));
@@ -621,7 +621,7 @@ namespace XCharts
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
new Vector2(axisStartX + relativedLength - offset.x + axis.offset, axisStartY + axisLength / 2 + offset.y) :
new Vector2(posX + offset.x, axisStartY + axisLength / 2 + offset.y));
@@ -631,7 +631,7 @@ namespace XCharts
//LabelStyle.Position
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
label.SetActive(axis.axisName.labelStyle.show);
label.SetActive(axis.axisName.labelStyle.show, true);
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
new Vector2(axisStartX + relativedLength + offset.x + axis.offset, axisStartY + axisLength + offset.y) :
new Vector2(posX + offset.x, axisStartY + axisLength + offset.y));

View File

@@ -124,7 +124,7 @@ namespace XCharts.Runtime
label.text.SetAlignment(textStyle.GetAlignment(TextAnchor.MiddleCenter));
label.SetText(labelName);
label.SetPosition(GetLabelPosition(polar, axis, angleAxis.context.startAngle, totalWidth));
label.SetActive(true);
label.SetActive(true, true);
label.SetTextActive(true);
axis.context.labelObjectList.Add(label);

View File

@@ -34,7 +34,7 @@ namespace XCharts.Runtime
var labelPos = chart.chartPosition + item.location.GetPosition(chart.chartWidth, chart.chartHeight);
var label = ChartHelper.AddChartLabel(s_CommentObjectName + i, commentObj.transform, labelStyle, chart.theme.common,
GetContent(item), Color.clear, TextAnchor.MiddleCenter);
label.SetActive(comment.show && item.show);
label.SetActive(comment.show && item.show, true);
label.SetPosition(labelPos);
label.text.SetLocalPosition(labelStyle.offset);
}

View File

@@ -58,7 +58,7 @@ namespace XCharts.Runtime
var label = ChartHelper.AddChartLabel("content", btnObj.transform, legend.labelStyle, theme.legend,
content, contentColor, TextAnchor.MiddleLeft);
label.SetActive(true);
label.SetActive(true, true);
var item = new LegendItem();
item.index = i;

View File

@@ -45,7 +45,7 @@ namespace XCharts.Runtime
var label = ChartHelper.AddChartLabel("label", m_MarkLineLabelRoot.transform, markArea.label, chart.theme.axis,
component.text, Color.clear, TextAnchor.MiddleCenter);
UpdateRuntimeData(component);
label.SetActive(markArea.label.show);
label.SetActive(markArea.label.show, true);
label.SetPosition(component.runtimeLabelPosition);
label.SetText(component.text);
markArea.runtimeLabel = label;

View File

@@ -53,7 +53,7 @@ namespace XCharts.Runtime
var label = ChartHelper.AddChartLabel(objName, radarObject.transform, radar.axisName.labelStyle,
chart.theme.common, radar.GetFormatterIndicatorContent(i), Color.clear, TextAnchor.MiddleCenter);
label.SetActive(radar.axisName.show && radar.indicator && radar.axisName.labelStyle.show);
label.SetActive(radar.axisName.show && radar.indicator && radar.axisName.labelStyle.show, true);
AxisHelper.AdjustCircleLabelPos(label, pos, radar.context.center, txtHig, radar.axisName.labelStyle.offset);
}
chart.RefreshBasePainter();

View File

@@ -255,7 +255,7 @@ namespace XCharts.Runtime
{
if (label == null) return;
if (double.IsNaN(axis.context.pointerValue)) return;
label.SetActive(true);
label.SetActive(true, true);
label.SetTextActive(true);
label.SetPosition(axis.context.pointerLabelPosition + axis.indicatorLabel.offset);

View File

@@ -67,7 +67,7 @@ namespace XCharts.Runtime
{
var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.common,
"", color, TextAnchor.MiddleCenter);
label.SetActive(labelStyle.show);
label.SetActive(labelStyle.show, true);
return label.gameObject;
}
}

View File

@@ -555,7 +555,7 @@ namespace XCharts.Runtime
{
var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.tooltip,
"", Color.clear, alignment);
label.SetActive(tooltip.show && labelStyle.show);
label.SetActive(tooltip.show && labelStyle.show, true);
return label;
}

View File

@@ -368,7 +368,7 @@ namespace XCharts.Runtime
var textName = string.Format("{0}_{1}_{2}_{3}", s_SerieLabelObjectName, serie.index, serieData.index, i);
var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common,
"", dataAutoColor, TextAnchor.MiddleCenter);
label.SetActive(false);
label.SetActive(false, true);
serieData.context.dataLabels.Add(label);
}
}
@@ -377,7 +377,7 @@ namespace XCharts.Runtime
var textName = ChartCached.GetSerieLabelName(s_SerieLabelObjectName, serie.index, serieData.index);
var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common,
"", dataAutoColor, TextAnchor.MiddleCenter);
label.SetActive(false);
label.SetActive(false, true);
serieData.labelObject = label;
}
@@ -441,7 +441,7 @@ namespace XCharts.Runtime
var label = ChartHelper.AddChartLabel("title_" + 0, serieTitleRoot.transform, titleStyle, chart.theme.common,
content, color, TextAnchor.MiddleCenter);
serie.context.titleObject = label;
label.SetActive(titleStyle.show);
label.SetActive(titleStyle.show, true);
var labelPosition = GetSerieDataTitlePosition(null, titleStyle);
var offset = titleStyle.GetOffset(serie.context.insideRadius);
label.SetPosition(labelPosition + offset);
@@ -468,7 +468,7 @@ namespace XCharts.Runtime
var label = ChartHelper.AddChartLabel("title_" + i, serieTitleRoot.transform, titleStyle, chart.theme.common,
content, color, TextAnchor.MiddleCenter);
serieData.titleObject = label;
label.SetActive(titleStyle.show);
label.SetActive(titleStyle.show, true);
var labelPosition = GetSerieDataTitlePosition(serieData, titleStyle);
var offset = titleStyle.GetOffset(serie.context.insideRadius);
label.SetPosition(labelPosition + offset);