编辑文本滚动完成后

时间:2015-12-10 07:31:47

标签: android android-edittext scrollview

我已经尝试了stackoverflow上的每个简单示例,但没有什么能解决我的问题。这是我的问题

ScrollView activity scrollbars="vertical" editText ScrollView内有scrollview个选项edittext

我希望在edittext滚动完成后滚动edittext的滚动,就像在scroll lisetener滚动或$zain = !empty($_POST["zain"])?$_POST["zain"]:(!empty($_GET["zain"])?$_GET["zain"]:false); if(!$zain) die("zain is empty"); 滚动的底部

我认为可以通过查看捕获$_POST["zain"]完成,但没有任何效果。

1 个答案:

答案 0 :(得分:0)

尝试以下示例代码,希望它适合您。

在XML

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#aa8822"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#aa8822"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/edt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:ems="10"
            android:maxLines="3"
            android:scrollbars="vertical"
            android:textColor="@android:color/black"
            android:textSize="20sp"
            android:textStyle="bold" >

            <requestFocus />
        </EditText>  
    </LinearLayout>

</ScrollView>

添加一些视图,以便滚动视图滚动。

现在进入你的活动 -

EditText edt = (EditText) findViewById(R.id.edt);

        edt.setOnTouchListener(new OnTouchListener() {
                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        if (v.getId() == R.id.edt) {
                            v.getParent().requestDisallowInterceptTouchEvent(true);
                            switch (event.getAction() & MotionEvent.ACTION_MASK) {
                            case MotionEvent.ACTION_UP:
                                v.getParent().requestDisallowInterceptTouchEvent(false);
                                break;
                            }
                        }
                        return false;
                    }
                });