转载请注明出处:http://blog.csdn.net/mr_leixiansheng/article/details/58600442
步骤:
1、写一个继承TextView的类将isFocused 的return 内容改为 true
class MyTextView extends TextView { public MyTextView(Context context) { super(context); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } //将return 改为true 使控件能够聚焦 @Override public boolean isFocused() { return true; }2、布局文件中实现自定义控件,并添加android:singleLine="true"(注:不能写成android:maxLines="1") android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true"
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.leixiansheng.runtextview.MyTextView android:text="今天天气很好,出去玩儿吧!今天天气很好,出去玩儿吧!今天天气很好,出去玩儿吧!" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.example.leixiansheng.runtextview.MyTextView android:text="快看,有流星。。。快看,有流星。。。快看,有流星。。。快看,有流星。。。" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>3、主程序package com.example.leixiansheng.runtextview;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.AttributeSet;import android.widget.TextView;/** * 实现长文本单行滚动显示 */public class MainActivity extends AppCompatActivity { @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}class MyTextView extends TextView { public MyTextView(Context context) { super(context); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } //将return 改为true 使控件能够聚焦 @Override public boolean isFocused() { return true; }}
新闻热点
疑难解答