2016-12-02 38 views

回答

1

只需使用 「\ n」 在任何你想分割的文本。

0

下面的解決方案是工作 -

txtUserName.post(new Runnable() 
      { 
       @Override 
       public void run() 
       { 

        int textviewWidth = getTextviewWidth(text, getWidthOfScreen()); 

        int deviceWidth = getWidthOfScreen(); 

        if (textviewWidth >= deviceWidth) 
        { 

         String userName = text.replace(" ", "\n"); 

         txtUserName.setText(userName); 
        } 
       } 
      }); 


public int getTextviewWidth(String text, int deviceWidth) 
    { 

     txtUserName.setText(text); 
     int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(deviceWidth, View.MeasureSpec.AT_MOST); 
     int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); 
     txtUserName.measure(widthMeasureSpec, heightMeasureSpec); 
     return txtUserName.getMeasuredWidth(); 
    } 

public int getWidthOfScreen() 
    { 

     DisplayMetrics displaymetrics = new DisplayMetrics(); 
     (mContext).getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
     int height = displaymetrics.heightPixels; 
     int width = displaymetrics.widthPixels; 

     return width; 

    }