Scrollview无法滚动文本框焦点(Android)

时间:2018-02-02 08:39:27

标签: scrollview android-linearlayout

我在Android应用中遇到了Scrollview的问题。当我关注文本框时,它不会滚动到文本框。它跳到了视图的顶部。

对不起我的英语,我希望你理解我的问题。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/svPages"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusableInTouchMode="true"
    android:fillViewport="true"
    android:isScrollContainer="true"
    >
    <LinearLayout
        android:id="@+id/LLContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:focusable="false" />
</ScrollView>

和活动

 protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            LinearLayout linearLayout = FindViewById<LinearLayout>(Resource.Id.LLContainer);

            RelativeLayout layoutPage = new RelativeLayout(this);
            layoutPage.Focusable = false;

            for (int j = 1000; j < 4000; j = j + 1000)
            {
                EditText editText = new EditText(this);
                editText.SetWidth(150);
                editText.SetHeight(50);
                editText.SetX(30);
                editText.SetY(j+1000);

                layoutPage.AddView(editText);

            }

            int heightInDP = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 2250, Resources.DisplayMetrics);
            LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            layoutPage.SetMinimumHeight(heightInDP);
            linearLayout.AddView(layoutPage, linearLayoutParams);

        }

1 个答案:

答案 0 :(得分:0)

问题是setx和sety。我删除后,它应该工作。 因此,作为解决方法,我将布局更改为framelayout并使用了SetTop和SetLeft,这对我有用。