java 多音词语转拼音_py4j汉语转拼音多音字处理

先看下效果

6226b27ec10e106d5d8c4f03a69b5069.png

f5a37690ba07f587a7941eb75c6a7022.png

1c828f39f96b8e8b2d8d39be22e62ded.png

一 、布局

二、自定义控件

2.1  ClearEditText 带删除按钮的输入框

public class ClearEditText extends AppCompatEditText implementsOnFocusChangeListener, TextWatcher {/*** 删除按钮的引用*/

privateDrawable mClearDrawable;publicClearEditText(Context context) {this(context, null);

}publicClearEditText(Context context, AttributeSet attrs) {//这里构造方法也很重要,不加这个很多属性不能再XML里面定义

this(context, attrs, android.R.attr.editTextStyle);

}public ClearEditText(Context context, AttributeSet attrs, intdefStyle) {super(context, attrs, defStyle);

init();

}private voidinit() {//获取EditText的DrawableRight,假如没有设置我们就使用默认的图片

mClearDrawable = getCompoundDrawables()[2];if (mClearDrawable == null) {

mClearDrawable=getResources().getDrawable(R.drawable.emotionstore_progresscancelbtn);

}

mClearDrawable.setBounds(0, 0, mClearDrawable.getIntrinsicWidth(), mClearDrawable.getIntrinsicHeight());

setClearIconVisible(false);

setOnFocusChangeListener(this);

addTextChangedListener(this);

}@Overridepublic booleanonTouchEvent(MotionEvent event) {if (getCompoundDrawables()[2] != null) {if (event.getAction() ==MotionEvent.ACTION_UP) {boolean touchable = event.getX() > (getWidth() - getPaddingRight() -mClearDrawable.getIntrinsicWidth())&& (event.getX() < ((getWidth() -getPaddingRight())));if (touchable) { //选中了“删除”按钮

this.setText("");

}

}

}return super.onTouchEvent(event);

}/*** 当ClearEditText焦点发生变化的时候,判断里面字符串长度设置清除图标的显示与隐藏*/@Overridepublic void onFocusChange(View v, booleanhasFocus) {if(hasFocus) {

setClearIconVisible(getText().length()> 0);

}else{

setClearIconVisible(false);

}

}/*** 设置清除图标的显示与隐藏,调用setCompoundDrawables为EditText绘制上去

*

*@paramvisible*/

protected void setClearIconVisible(booleanvisible) {

Drawable right= visible ? mClearDrawable : null;

setCompoundDrawables(getCompoundDrawables()[0], getCompoundDrawables()[1], right, getCompoundDrawables()[3]);

}/*** 当输入框里面内容发生变化的时候回调的方法*/@Overridepublic void onTextChanged(CharSequence s, int start, int count, intafter) {

setClearIconVisible(s.length()> 0);

}

@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, intafter) {

}

@Overridepublic voidafterTextChanged(Editable s) {

}

}

2.2  Sid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值