Android Studio中TextView文本过长滚动显示方法

Android Studio中TextView文本过长滚动显示方法

TextView文字过长我们可以采用复写Textview方法
代码中extendsa ndroid.support.v7.widget.AppCompatTextView,AppCompatTextView又是extends TextView.AppCompatTextView最显著的特点是可以自适应字体宽度大小变化(此处不是重点)。

public class MarqueeTextView extends android.support.v7.widget.AppCompatTextView {

    public MarqueeTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public MarqueeTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MarqueeTextView(Context context) {
        super(context);
    }
      //主要就是这个方法
    @Override
    public boolean isFocused() {
        return true;
    }

在布局文件XML中添加

         android:id="@+id/tv_frag_project_name"
         android:layout_width="300dp"
         android:layout_height="wrap_content"
         android:marqueeRepeatLimit="marquee_forever"
         android:singleLine="true"
         android:ellipsize="marquee" />

在使用MarqueeTextView 是,在activity或fragment中添加如下:

如果使用了BindView

 @BindView(R.id.tv_frag_project_name)
    MarqueeTextView tv_project_name;

如果没有使用BindView

MarqueeTextView  tv_project_name=(MarqueeTextView)findViewById(R.id.tv_frag_project_name);
tv_project_name.setSelected(true);

TextView文字滚动就OK了

你可能感兴趣的:(Android)