xujinyang / biuedittext Goto Github PK
View Code? Open in Web Editor NEWbiu,biu,一个有趣的EditText
biu,biu,一个有趣的EditText
java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.Rect android.graphics.drawable.Drawable.getBounds()' on a null object reference
at me.james.biuedittext.BiuEditText.getCursorCoordinate(BiuEditText.java:244)
at me.james.biuedittext.BiuEditText.playFlyUp(BiuEditText.java:180)
at me.james.biuedittext.BiuEditText.playAnaimator(BiuEditText.java:135)
at me.james.biuedittext.BiuEditText.update(BiuEditText.java:117)
at me.james.biuedittext.BiuEditText.access$100(BiuEditText.java:33)
at me.james.biuedittext.BiuEditText$1.onTextChanged(BiuEditText.java:94)
at android.widget.TextView.sendOnTextChanged(TextView.java:8240)
at android.widget.TextView.handleTextChanged(TextView.java:8302)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:10669)
at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1208)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:578)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:509)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:508)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:844)
at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:198)
at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:183)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:353)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:93)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:159)
at android.app.ActivityThread.main(ActivityThread.java:6306)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1096)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:883)
锤子坚果pro 手机测试
Thanks the good library.
Example,
"abcdefg", when cursor between "d" and "e",
add or remove word,
it popup "g", not new word
你的点子不错,图之前我也看到过,不过你把它做成安卓的控件,实在有点意外,希望改进的几点如下:
1、EditText 放在ScrollView中会出现定住不准
2、增加修改跳动文字的颜色设定函数
3、低版本兼容
report : Caused by: java.lang.NullPointerException
at me.james.biuedittext.BiuEditText.playFlyUp(BiuEditText.java:183)
at me.james.biuedittext.BiuEditText.playAnaimator(BiuEditText.java:128)
at me.james.biuedittext.BiuEditText.update(BiuEditText.java:110)
at me.james.biuedittext.BiuEditText.access$100(BiuEditText.java:26)
at me.james.biuedittext.BiuEditText$1.onTextChanged(BiuEditText.java:87)
at android.widget.TextView.sendOnTextChanged(TextView.java:7079)
at android.widget.TextView.setText(TextView.java:3550)
at android.widget.TextView.setText(TextView.java:3405)
at android.widget.EditText.setText(EditText.java:80)
at android.widget.TextView.setText(TextView.java:3380)
Hi, thanks you for this library
but when use this library, show me this error :
Process: com.tellfa.tasktodo, PID: 18083 android.view.InflateException: Binary XML file line #34: Error inflating class me.james.biuedittext.BiuEditText at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.tellfa.tasktodo.DialogAdd.onCreateView(DialogAdd.java:45) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5349) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.tellfa.tasktodo.DialogAdd.onCreateView(DialogAdd.java:45) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5349) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703) Caused by: java.lang.ClassCastException: android.view.ContextThemeWrapper cannot be cast to android.app.Activity at me.james.biuedittext.BiuEditText.init(BiuEditText.java:71) at me.james.biuedittext.BiuEditText.<init>(BiuEditText.java:47) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.tellfa.tasktodo.DialogAdd.onCreateView(DialogAdd.java:45) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5349) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
XMl code : <me.james.biuedittext.BiuEditText android:id="@+id/dialog_add_task" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="biu,biu,发射1号" android:textColor="@android:color/white" app:biu_duration="800" app:biu_text_color="@android:color/white" app:biu_text_scale="1.5" app:biu_type="flydown" app:biu_text_start_size="12sp" />
how can i fix it? thanks
文字最终出现位置为layout中xml文件里的位置,不是布局的实际位置
文字一直都是飞到最顶上,而不是依据输入框的位置飞入
增加属性:android:digits="1234567890."
代码里设置:editText.setInputType(EditorInfo.TYPE_CLASS_PHONE);
控制EditText获取到焦点直接打开的是数字面板,报错了!
Caused by: java.lang.StringIndexOutOfBoundsException: length=0; index=-1
at java.lang.String.indexAndLength(String.java:500)
at java.lang.String.charAt(String.java:494)
at me.james.biuedittext.BiuEditText$1.onTextChanged(BiuEditText.java:85)
at android.widget.TextView.sendOnTextChanged(TextView.java:7682)
at android.widget.TextView.setText(TextView.java:4063)
at android.widget.TextView.setText(TextView.java:3918)
at android.widget.EditText.setText(EditText.java:85)
at android.widget.TextView.setText(TextView.java:3893)
at android.widget.TextView.setTransformationMethod(TextView.java:1776)
at android.widget.TextView.applySingleLine(TextView.java:7379)
at android.widget.TextView.setInputType(TextView.java:4264)
at jamesxu.biuedittext.BiuFragment.onCreateView(BiuFragment.java:23)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1965)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1078)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1259)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1624)
at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236)
at com.qihoo360.mobilesafe.loader.c.callActivityOnStart(SourceFile:150)
at android.app.Activity.performStart(Activity.java:6006)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
1,多行文字时,文本框的基准线已经往下移了,飞入的文字还是在第一行时的位置
2,同时输入多个文字时,比如,我输入了个 “我们都一样”,这样一句话,因为键盘上已经提示出来了,我点击时,文字会同一时间出现在文本框里,这时飞入的是最后一个字,位置 也是对应在“我”这个字所在位置,希望输入多个文字时能同时飞入,且位置对应
作者脑洞很大,能把看到的有趣现象通过代码在软件中实现出来,这确实很厉害。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.