Как отобразить текст вертикально в Textview в Recyclerview в Android?

#android #android-recyclerview #textview

#Android #android-recyclerview #textview

Вопрос:

Я хочу показать список имен в recyclerview.Для этого я разработал этот элемент Recyclerview xml.Но проблема в том, что я хочу показывать эти имена вертикально в одной строке (снизу вверх).

Я попытался, изменив угол наклона (атрибут поворота) TextView.Но он не работает в Recyclerview. Может кто-нибудь помочь мне решить эту проблему?

Комментарии:

1. покажите, что вы пробовали, как вы поворачиваете этот текст в данный момент (который не работает)

2. Почтовый индекс, что вы пробовали?

Ответ №1:

Наконец-то я нашел решение.Мне нужно создать пользовательский класс extending TextView .Мы можем достичь нашей цели с помощью этого.

Это мой класс:

 public class NewVerticalView extends TextView {
    private Rect bounds = new Rect();
    private TextPaint textPaint;
    private int color;

    public NewVerticalView(Context context) {
        super(context);
    }

    public NewVerticalView(Context context, AttributeSet attrs) {
        super(context, attrs);
        color = getCurrentTextColor();
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        textPaint = getPaint();
        textPaint.getTextBounds((String) getText(), 0, getText().length(), bounds);
        setMeasuredDimension((int) (bounds.height()   textPaint.descent()), bounds.width());
    }

    @Override
    protected void onDraw(Canvas canvas) {
        textPaint.setColor(color);
        canvas.rotate(-90,bounds.width(),0
        );
        canvas.drawText((String) getText(), 0,- bounds.width()   bounds.height(), textPaint);
    }
}