java 小TextView扩展,在单击时将其textStyle设置为粗体。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 小TextView扩展,在单击时将其textStyle设置为粗体。相关的知识,希望对你有一定的参考价值。

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

    Rect rect;

    public ClickTextView(Context context) {
        super(context);
        init();
    }

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

    public ClickTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init(){
        setClickable(true);
        rect = new Rect();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        int action = event.getAction();
        if (action == MotionEvent.ACTION_DOWN
                || action == MotionEvent.ACTION_HOVER_ENTER){
            this.setTypeface(Typeface.DEFAULT_BOLD);
            getHitRect(rect);
        }else if (action == MotionEvent.ACTION_MOVE){
            boolean inView = rect.contains(getLeft() + (int) event.getX(), getTop() + (int) event.getY());
            this.setTypeface(inView ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
        }else if (action == MotionEvent.ACTION_UP
                || action == MotionEvent.ACTION_CANCEL
                || action == MotionEvent.ACTION_HOVER_EXIT
                || action == MotionEvent.ACTION_OUTSIDE) {
            this.setTypeface(Typeface.DEFAULT);
        }

        return super.onTouchEvent(event);
    }

    @Override
    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
        super.onFocusChanged(focused, direction, previouslyFocusedRect);

        if (focused) this.setTypeface(Typeface.DEFAULT_BOLD);
        else this.setTypeface(Typeface.DEFAULT);
    }
}

以上是关于java 小TextView扩展,在单击时将其textStyle设置为粗体。的主要内容,如果未能解决你的问题,请参考以下文章

单击时将所有项目从列表视图转移到文本视图

在 Objective-C 中加载时将光标移动到预填充 Textview 的开头

Android - 按下按钮时将textview添加到布局

单击时隐藏和显示 div,带有绝对位置的动画,并在隐藏时将其删除

在小部件中单击 textview 时更改图标

每当我单击一个开关时,我都需要创建一个新对象,并在关闭时将其删除