• Android控件_使用TextView实现跑马灯效果


    一、第一种方式:

      通过TextView控件的自身属性实现(但是有缺点就是当多个TextView要实现这种效果的时候,只有第一个才有效果)

        实现方法加上下面四个属性:

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

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        
        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="16dp"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:text="@string/textView" />
        
        <TextView
            android:layout_below="@+id/textView1"
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="16dp"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:text="@string/textView" />
        
        
    </LinearLayout>

    二、第二种方式:

      通过java代码实现(自定义一个TextView的类)

      加上下面四个属性:

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

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        
        <com.muke.textview_edittext.text
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="16dp"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:text="@string/textView" />
        
        <com.muke.textview_edittext.text
            android:layout_below="@+id/textView1"
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="16dp"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:text="@string/textView" />
        
        
    </LinearLayout>
    package com.muke.textview_edittext;
    
    import android.content.Context;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    public class text extends TextView {
    
        public text(Context context) {
            super(context);
            
        }
        
        public text(Context context, AttributeSet attrs) {
            super(context, attrs);
            
        }
        
        public text(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            
        }
    
        public text(Context context, AttributeSet attrs, int defStyleAttr,int defStyleRes) {
            super(context, attrs, defStyleAttr, defStyleRes);
            
        }
        
        
        //关键在于这个方法
        public boolean isFocused(){
            return true;
        }
    
    }
    package com.muke.textview_edittext;
    
    import android.os.Bundle;
    import android.app.Activity;
    
    
    public class MainActivity extends Activity{
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
  • 相关阅读:
    String 方法
    异常处理
    数组长度改变方法
    对象
    重载(函数)
    函数
    java基础(死循环退出选项)
    cookie的封装,获取,删除
    事件监听的理解
    JS少数兼容
  • 原文地址:https://www.cnblogs.com/LO-ME/p/4659978.html
Copyright © 2020-2023  润新知