我正在制作一个注释保护程序应用程序,对于我使用多行EditText的主要注意事项看起来像这样: - Screenshot
EditText代码: -
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.mnotes.view.TextField
android:id="@+id/mNoteEditText"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@null"
android:gravity="top|start"
android:inputType="textMultiLine"
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
android:scrollHorizontally="false"
android:hint="Start Writing For Here...."
android:padding="8dp"
android:clickable="true"
android:focusable="true"
android:fontFamily="sans-serif-smallcaps"
android:longClickable="true"
android:textIsSelectable="true"/>
</LinearLayout>
当我滚动此EditText时,它获得了使软键弹出的焦点,此行为使滚动体验非常糟糕。所以我想在滚动时禁用对EditText的关注,请帮助。
答案 0 :(得分:1)
我找到了一个解决方案(仅适用于短文本)。您可以使用ScrollView
onScrollChange事件。
这是我的方法:
ScrollView scroll = findViewById(R.id.scrollView1);
scroll.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View view, int i, int i1, int i2, int i3) {
et.clearFocus();
}
});
变量et
是一个EditText对象。