NeToster
@NeToster

Как сделать кастомный textview?

Это моя view
<com.example.blabla.HateTextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/hate"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="Text" />


Дальше код:

public class HateTextView extends android.support.v7.widget.AppCompatTextView {
    
        Paint mTxtPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        private String str = " ";
    
        HateTextView(Context context, AttributeSet attrs){
            super(context, attrs);
            TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.HateTextView);
            a.recycle();
        }
    
    
        @Override
        public void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint.FontMetrics fm = new Paint.FontMetrics();
            mTxtPaint.setColor(Color.parseColor("#d00000"));
            mTxtPaint.setTextSize(20 * getResources().getDisplayMetrics().density);
            mTxtPaint.getFontMetrics(fm);
            mTxtPaint.isAntiAlias();
    
            int margin = 5;
    
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                canvas.drawRoundRect(90 - margin, 100 + fm.top - margin,
                        115 + mTxtPaint.measureText(str) + margin, 100 + fm.bottom + margin,35,35, mTxtPaint);
            }
    
            mTxtPaint.setColor(Color.WHITE);
            canvas.drawText(str, 100, 100, mTxtPaint);
        }
    
        public void setTextHate(String hate) {
            str = hate;
        }
    }


создаю примерно так:

HateTextView h = itemView.findViewById(R.id.hate);
 h.setTextHate("какой-то текст..");
h.setRotation(номер поворота); только из-за поворота столько проблем. А вернее из-за antialias. Просто из xml getPaint.AntiAlia.. не работает.


тут я поставил match_parent, а если по контенту то текст который я рисую не видно совсем. Как мне вместо этого text вставить мой текст который я рисую.

5b0329bbb28cd223512000.jpeg

Желательно пишите те кто может помочь, а не умники которые напишут боже ты линивая жопа. Пишу от безысходности
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы