轉載請注明出處: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; }}
新聞熱點
疑難解答