安卓EditText 不可编辑 可垂直滑动
时间: 2024-01-06 16:07:15 浏览: 38
要实现安卓的EditText不可编辑但可垂直滑动,可以使用以下代码:
```
EditText editText = findViewById(R.id.edit_text);
editText.setEnabled(false);
editText.setKeyListener(null);
editText.setVerticalScrollBarEnabled(true);
editText.setMovementMethod(new ScrollingMovementMethod());
```
其中,`setEnabled(false)`表示不可编辑,`setKeyListener(null)`表示没有键盘输入,`setVerticalScrollBarEnabled(true)`表示显示垂直滚动条,`setMovementMethod(new ScrollingMovementMethod())`表示可滑动。注意,如果没有设置`setMovementMethod`,则无法滑动。
相关问题
安卓EditText 设置不可编辑 但可垂直滑动
要实现此功能,可以通过设置 EditText 的属性来实现。
1. 在布局文件中,将 EditText 的属性设置为不可编辑:
```
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:editable="false" />
```
2. 在代码中,设置 EditText 的可垂直滑动属性:
```
EditText editText = findViewById(R.id.editText);
editText.setVerticalScrollBarEnabled(true);
editText.setMovementMethod(new ScrollingMovementMethod());
```
这样就可以实现 EditText 不可编辑但可垂直滑动的效果了。
EditText 不可编辑 可滑动
如果您想让一个 EditText 不可编辑但可滑动,可以使用以下代码:
```
EditText editText = findViewById(R.id.editText);
editText.setFocusable(false);
editText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
v.getParent().requestDisallowInterceptTouchEvent(false);
} else {
v.getParent().requestDisallowInterceptTouchEvent(true);
}
return false;
}
});
```
这个代码会禁止 EditText 的焦点,使其不可编辑。同时,通过设置一个触摸事件的监听器,可以使得当用户滑动 EditText 时,它可以滑动。