我正在编写一个简单的凯撒加密活动。屏幕上有两个 EditText,一个是明文,一个是加密的。下面是加密 EditText 的一个示例 - 明文文本与之类似。
<EditText
android:layout_below="@id/Caesar_Label_CryptText"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/Caesar_Text_CryptText"
android:hint="Enter crypted text"
android:maxLines="2"
android:lines="2"
android:minLines="2"
android:inputType="text|textMultiLine|textVisiblePassword"
android:scrollbars="vertical"
android:gravity="top" />
现在,当输入明文时,我有一个 TextChangedListener 正在运行,它以编程方式加密并填充该加密 EditText。到目前为止,一切都很好。
当输入的明文变得非常长时,明文-EditText 会随着我的输入而滚动,但加密-EditText 会保留在文本的顶部。我真的很希望 crypto-EditText 能够滚动,以便它始终显示其内容的底线。
如何做到这一点,最好是通过 TextWatcher 的 onTextChanged() 方法?
好的,找到了。它是光标(在 EditText 和 TextView 上称为“选择”)。
这就是我让它工作的方式:
ivClear // assigned the EditText that has the input
ivCrypt // assigned the target EditText, that I want to scroll
aText // the input from ivClear, crypted
然后使用:
ivCrypt.setText(aText); // assign the Text
ivCrypt.setSelection(ivClear.getSelectionStart()); // scroll
唷,终于 :) 总是低估了 Spannable 的力量 ;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)