Можно ли рассчитать максимальное количество символов, которое может поместиться внутри текстового представления с фиксированной шириной и фиксированным количеством строк - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть TextView в моем макете, ширина которого равна match_parent, а высота установлена ​​как wrap_content.Макет имеет отступ, скажем, 10dp, textSize как 15sp и noofLines как 2. Я хотел бы рассчитать максимальное количество букв, которое может соответствовать этому конкретному textView.

1 Ответ

0 голосов
/ 20 декабря 2018

Это простой пользовательский TextView:

public class MyTextView : AppCompatTextView
{
    public MyTextView(Context context) : base(context)
    {
    }

    public MyTextView(Context context, IAttributeSet attrs) : base(context, attrs)
    {
    }

    public MyTextView(Context context, IAttributeSet attrs, int defStyleAttr) : base(context, attrs, defStyleAttr)
    {
    }

    public int GetEstimatedLength()
    {
        int height = Height;
        int lineHeight =LineHeight;
        int linecount = height / lineHeight;

        float textSize = TextSize;
        float linewords = Width / textSize;
        return (int)(linecount * (int)linewords);

    }
}

, затем в вашем axml:

<MyTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:lines="2"
    android:textSize="31sp"
    android:id="@+id/myTextView1" />

наконец в действии:

MyTextView myTextView = FindViewById<MyTextView>(Resource.Id.myTextView1);
int numbers = myTextView.GetEstimatedLength();

"числа"максимальное количество символов , не влияет на знак

...