EditText 不可编辑 可滑动
时间: 2024-01-06 07:07:02 浏览: 86
如果您想让一个 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 时,它可以滑动。
相关问题
安卓EditText 不可编辑 可垂直滑动
要实现安卓的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 的属性来实现该效果。
首先,在 XML 布局文件中,将 EditText 的 `android:editable` 属性设置为 `false`,表示不可编辑。
然后,在代码中,设置 EditText 的 `android:scrollbars` 属性为 `vertical`,表示可垂直滑动。同时,调用 EditText 的 `setMovementMethod()` 方法设置其滚动方式为 `ScrollerMovementMethod.getInstance()`,即使用滚动器滚动。
具体代码如下:
```java
EditText editText = findViewById(R.id.editText);
editText.setEditable(false);
editText.setVerticalScrollBarEnabled(true);
editText.setMovementMethod(ScrollerMovementMethod.getInstance());
```
这样,就可以实现 EditText 不可编辑但可垂直滑动的效果了。
阅读全文