跑马灯

来源:互联网 发布:java教学视频马士兵 编辑:程序博客网 时间:2024/04/30 06:57

需要焦点跑马灯

list_Item_text.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/ListItemContent" >

    <TextView
        android:id="@+id/list_item_title"
        style="@style/Text"  />

    <TextView
        android:id="@+id/list_item_text"
        style="@style/Text"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:gravity="right|center_vertical" />

</LinearLayout>

style.xml

<style name="Text">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">@dimen/ListItemHeight</item>
        <item name="android:layout_weight">1</item>
        <item name="android:ellipsize">marquee</item>
        <item name="android:gravity">left|center_vertical</item>
        <item name="android:singleLine">true</item>
        <item name="android:textSize">@dimen/TextMedium</item>
        <item name="android:textColor">@color/white</item>
    </style>

//要求注册click 事件 点击时requestFocus().

public class TextItem extends ListItem {

    private TextView mText;

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

    public TextItem(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public void setCurrentValue(String val) {
        mText.setText(val);
    }

    protected void initView(Context context, AttributeSet attrs) {
        ((LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(
                R.layout.list_item_text, this, true);

        mTitle = (TextView) findViewById(R.id.list_item_title);
        mBindChild = mText = (TextView) findViewById(R.id.list_item_text);
        if (mTitle == null || mText == null) {
            throw new InflateException("do you miss some widget in InputItem?");
        }

        mText.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                v.requestFocus();
            }
        });
        super.initView(context, attrs);
    }
}

不需要焦点跑马灯

        <com.togic.settings.view.MarqueeTextView
            android:id="@+id/app_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@id/app_icon"
            android:layout_marginLeft="30dip"
            android:layout_toRightOf="@id/app_icon"
            android:ellipsize="marquee"
            android:maxWidth="150dp"
            android:singleLine="true"
            android:textColor="@color/white"
            android:textSize="@dimen/TextMedium" />

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

public class MarqueeTextView extends TextView {

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

    public boolean isFocused() {
        return true;
    }

}

原创粉丝点击