相关疑难解决方法(0)

将ScrollView从自动滚动停止到EditText

如果没有我找到的出色解决方案,这似乎是一个常见问题.目标是停止ScrollView从自动滚动到EditText具有焦点的(或任何视图).

你有一堆视图(Buttons,TextViews等)ScrollView,其中一个是EditText.点击后说出一个按钮ScrollView,ScrollView向下滚动到EditText(关闭屏幕).这是不可取的,因为您不希望其他元素滚动离开屏幕.

现在,我可以通过在屏幕中首先显示其他可聚焦元素来阻止这种情况发生ScrollView.但是,一般问题仍然存在.用户手动向下滚动EditText,输入一些数字,然后向上滚动到顶部(EditText现在关闭屏幕),他们点击一个按钮ScrollView,猜猜是什么?在ScrollView下降到织补滚动EditText.

我正在考虑扩展ScrollView和覆盖那里的一些方法findFocusableViewInBounds,但我有一种感觉,我只会让自己陷入更多麻烦.

如果可以的话请帮忙.

我已经玩了很多东西,例如EditText在我的顶部有一个0高度ScrollView,将Next Focusable元素属性添加到其他项目中ScrollView等等.我想一个"hack"可能会让EditText虚拟或者失去焦点.手动键盘隐藏或东西.

android scrollview autoscroll android-edittext

42
推荐指数
5
解决办法
5万
查看次数

EditText在ScrollView中不可滚动

我有一个ScrollView内部,EditText它被设置为垂直滚动.但它不会滚动.相反,整个布局滚动,每当我尝试滚动EditText.以下是代码 -

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
    android:id="@+id/b1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="39dp"
    android:text="Title"
    android:textColor="#3bb9ff"
    android:textSize="15sp" />

<EditText
    android:id="@+id/Text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Title"
    android:singleLine="true" >

    <requestFocus />

</EditText>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Content"
    android:layout_marginTop="50dp"
    android:textColor="#3bb9ff"
    android:textSize="15sp"
   />


<EditText
    android:id="@+id/newTodoText"
    android:layout_width="fill_parent"
    android:layout_height="match_parent" 
    android:minLines="2"
    android:maxLines="7"
     android:hint="Write something"
     android:scrollbars = "vertical" >
</EditText>
<Button
    android:id="@+id/Add"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Add" />


</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

ID为"newTodoText"的EditText在这里有问题.

android android-layout android-edittext android-scrollview android-view

42
推荐指数
6
解决办法
3万
查看次数

在ScrollView中滚动EditText

我有一个讨厌的问题.我有EditText(8行)里面ScrollView.当我试图滚动文本时,EditText它的行为并不稳定.有时它会滚动,有时它不会聚焦.

这是我的布局文件,让我的问题更清晰:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="8dp" >

    <TextView
        android:id="@+id/wo_task_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/no_description" />

    <TextView
        android:id="@+id/wo_task_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/no_description" />

    <TextView
        android:id="@+id/wo_task_comments_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="@string/comments" />

    <Button
        android:id="@+id/wo_task_select_comment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/select_comment_from_template" />

    <EditText
        android:id="@+id/wo_task_comments"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="top|left"
        android:hint="@string/enter_your_comment_here"
        android:lines="8"
        android:maxLines="10"
        android:minLines="6"
        android:scrollbars="vertical"
        android:singleLine="false" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我知道我有这个问题,因为在另一个内部有一个可滚动的控件,但我不知道该怎么做.所以,如果可以,请帮助我.

提前致谢.

public void initComments(final View view) {
    EditText comment = (EditText) view.findViewById(R.id.wo_task_comments);

    comment.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(final View v, final MotionEvent motionEvent) {
            if (view.getId() …
Run Code Online (Sandbox Code Playgroud)

layout android scrollview android-edittext

8
推荐指数
1
解决办法
7990
查看次数

Android:使多行edittext可滚动,在垂直滚动视图中禁用

我正在开发一个应用程序,其中我是一个结构点.

根据我的应用程序要求,我在xml中创建了水平scrollview,然后在.java中创建了垂直scrollview:

// Vertical Scroll view in Linear layout
ScrollView scrollView = new ScrollView(this);
scrollView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
Run Code Online (Sandbox Code Playgroud)

然后我以编程方式创建了一个表视图,并将其添加到scrollview中.我创建了多行编辑文本并禁用它,因为我想在运行时设置文本并将其作为一行添加到表视图中.

EditText editText = new EditText(this);
editText.setId(1);
editText.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,0f));
editText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
editText.setGravity(Gravity.TOP|Gravity.LEFT);
editText.setHint("Comment");
editText.setSingleLine(false);
editText.setLines(5);
editText.setMaxLines(5);
editText.setText(CommentFromDB);
editText.setEnabled(false);

tableLayout.addView(editText);

// Add table in Horizontal scroll view
scrollView.addView(tableLayout);
Run Code Online (Sandbox Code Playgroud)

现在我想使编辑文本可滚动,我通过代码实现:

editText.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View view, MotionEvent event) {
            if (view.getId() == 1) {
                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                case MotionEvent.ACTION_DOWN:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
            }
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是edittext不容易滚动.我需要平滑滚动.

怎么做请指导我.

android android-ui android-scrollbar android-edittext android-scrollview

3
推荐指数
2
解决办法
1万
查看次数