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 时更改图标
每当我单击一个开关时,我都需要创建一个新对象,并在关闭时将其删除