在 ScrollView 中的 EditText 内滚动 [重复]

Posted

技术标签:

【中文标题】在 ScrollView 中的 EditText 内滚动 [重复]【英文标题】:Scroll inside an EditText which is in a ScrollView [duplicate] 【发布时间】:2012-06-05 11:54:38 【问题描述】:

是否可以在 ScrollView 中的 EditText 内滚动?

<ScrollView 
        android:layout_
        android:layout_>
<LinearLayout
        android:layout_
        android:layout_
        android:orientation="vertical">
<!-- scroll inside this EditText -->
            <EditText android:id="@+id/et_scrollhere"
                android:lines="6"
                android:layout_
                android:layout_
                android:hint="Voorbeeld"
                android:layout_margin="5dp"
                android:scrollbars="vertical"
                android:inputType="textMultiLine"/>
</LinearLayout>
</ScrollView>

或者是否可以将 EditText 以纵向模式嵌入键盘?类似于 WhatsApp,EditText 是可滚动的。

【问题讨论】:

只使用 android:scrollbars="vertical" 移除 ... 我还需要在我的 linearLayout 中滚动。 修复 EditText 的高度而不是换行内容。 您必须创建自定义 Scrollview 类,您应该在其中处理 Intercept Touch。这是参考链接HELPFUL LINK. 我使用可滚动的 EditText 改变了主意。相反,我现在使用的是随文本增长的 EditText。 【参考方案1】:
EditText dwEdit = (EditText) findViewById(R.id.DwEdit);       
dwEdit.setOnTouchListener(new OnTouchListener() 

                public boolean onTouch(View view, MotionEvent event) 
                    // TODO Auto-generated method stub
                    if (view.getId() ==R.id.DwEdit) 
                        view.getParent().requestDisallowInterceptTouchEvent(true);
                        switch (event.getAction()&MotionEvent.ACTION_MASK)
                        case MotionEvent.ACTION_UP:
                            view.getParent().requestDisallowInterceptTouchEvent(false);
                            break;
                        
                    
                    return false;
                
            );

在你的xml文件中

      <EditText
        android:id="@+id/DwEdit"
        android:layout_
        android:layout_
        android:minLines="10"
        android:scrollbarStyle="insideInset"
        android:scrollbars="vertical" 
        android:overScrollMode="always"
        android:inputType="textCapSentences">
        </EditText> 

希望对你有所帮助..

【讨论】:

太棒了!!!效果很好! 这个我找了很久 对你有帮助吗? 是的,非常有用 效果很好,谢谢;)

以上是关于在 ScrollView 中的 EditText 内滚动 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

EditText 在 ScrollView 内不可滚动

ScrollView 中的 ListView 在 Android 上不滚动

完美解决EditText和ScrollView的滚动冲突(上)

关于 ScrollView 中嵌套 EditText,输入多行会使整体滚动的问题

ScrollView中存在EditText,焦点变化引发自动滚动问题

ScrollView中使用EditText,并解决滑动冲突