textview 小结

1、android:ems  ——设置为n个汉字的宽度。 textview的宽度设了wrap_content

 

2、跑马灯效果:

  

    android:focusable="true"
    android:focusableInTouchMode="true"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever" 

 

3、单行:…

     android:singleline ——设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来  表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显“t…”。如果不设置singleLine或者设置为false,文本将自动换行

 

 

 android:ellipsize="middle"
    android:singleLine="true"

组合使用也可以设置省略号

 

4、android:eclipsize

    设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结    尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)

 

 5、2行设置末尾省略号:

 

    android:ellipsize="end"
    android:maxLines="2"

 

6、多行省略号:

 

  

public String splitTextLen ( TextView text, String str )
            {
                if ( StringUtils.isEmpty( str ) )
                    {
                        return "";
                    }

                TextPaint paint = text.getPaint();
                float len = paint.measureText( str );

                if ( len / screenWidth > 3 )
                    {
                        TextPaint paint1 = text.getPaint();
                        float len1 = paint1.measureText( "陈" );
                        int endText = ( int ) ( screenWidth / len1 ) * 3;
                        return str.substring( 0, endText - 8 ) + "...";
                    }
                return str;
            } 

 

 

 

你可能感兴趣的:(textview)