MPAndroidChart:在BarChart中将X轴的标签旋转90度

use*_*184 5 android mpandroidchart

我在MPAndroidChart的BarChart的xAxes中的文字太长了.如何将xAxes的标签旋转90度?

Har*_*mal 23

现在可以在库版本2.1.6中使用

试试这个

XAxis xAxis=barChart.getXAxis();
xAxis.setLabelRotationAngle(-45); 
Run Code Online (Sandbox Code Playgroud)


Gur*_*ngh 5

很简单,试试这个...

XAxis xAxis = barChart.getXAxis();
xAxis.setLabelRotationAngle(90); 
Run Code Online (Sandbox Code Playgroud)


piy*_*iya 2

您可以隐藏 xAxis 标签并放置垂直的自定义文本视图。这是垂直文本视图的代码。

public class VerticalTextView extends TextView {
final boolean topDown;

public VerticalTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    final int gravity = getGravity();
    if (Gravity.isVertical(gravity) && (gravity & Gravity.VERTICAL_GRAVITY_MASK) == Gravity.BOTTOM) {
        setGravity((gravity & Gravity.HORIZONTAL_GRAVITY_MASK) | Gravity.TOP);
        topDown = false;
    } else
        topDown = true;
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(heightMeasureSpec, widthMeasureSpec);
    setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}

@Override
protected void onDraw(Canvas canvas) {
    TextPaint textPaint = getPaint();
    textPaint.setColor(getCurrentTextColor());
    textPaint.drawableState = getDrawableState();

    canvas.save();

    if (topDown) {
        canvas.translate(getWidth(), 0);
        canvas.rotate(90);
    } else {
        canvas.translate(0, getHeight());
        canvas.rotate(-90);
    }

    canvas.translate(getCompoundPaddingLeft(), getExtendedPaddingTop());

    getLayout().draw(canvas);
    canvas.restore();
}
Run Code Online (Sandbox Code Playgroud)

}