2016-06-20 9 views
0

Используя андроид, кто-нибудь знает, как получить точную ширину текстового изображения в пикселях перед его отображением на экране? (программно) Я много искал в Интернете, но я не нашел ничего работающего.Получите точную ширину текстового изображения в пикселях программным способом (Android)

Спасибо

Ссылки на пост я попытался:

    1. With a Paint
      With measure
      With density
  • +0

    , что вы пробовали до сих пор? каковы эти решения из Интернета, которые вы пробовали, но они не работали? –

    +0

    Я редактирую свое сообщение для более подробной информации – Kemix

    ответ

    1

    Было бы лучше, если бы вы отправили код. Тогда мы могли бы помочь вам больше. Но я думаю, что вы можете использовать эти методы:

    yourText.measure(0, 0); 
    

    , а затем эти коды:

    int width = view.getMeasuredWidth(); 
    int height = view.getMeasuredHeight(); 
    
    +0

    Извините, я просто подумал, что этот способ не работает, но на самом деле мой код был плохим ... Большое спасибо за ваш быстрый ответ – Kemix

    0

    попробовать это.

    textView.setText("your text"); 
    textView.measure(0, 0); 
    textView.getMeasuredWidth(); 
    textView.getMeasuredHeight(); 
    
    0

    Как Nargess сказал, что лучше использовать методы измерения ширины и высоты вида по как код ниже:

    Display display = getWindowManager().getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 
    view.measure(size.x, size.y); 
    int width = view.getMeasuredWidth(); 
    int height = view.getMeasuredHeight(); 
    
    3

    Я думаю, что вы должны использовать OnGlobalLayoutListener, который обычно используется для определения высоты и ширины представлений до их рисования.

    Например,

    yourTextView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
    
        @Override 
        public void onGlobalLayout() { 
    
         yourTextView.getWidth(); 
    
        } 
    });