我目前正在开发一个使用创建日历合同事件的 android 应用程序......本质上是一个轻量级日历应用程序。我创建的表单使用滚动视图内的表格布局。我注意到,当我从表单的下拉列表中选择一个值时,页面会滚动回表单的顶部。我不希望这种情况发生。我希望用户留在他们在页面上的位置,而不是页面滚动回到表单的顶部。我搜索了论坛,但找不到任何理由。我不确定是否需要在布局标签中添加一些内容或不需要。有没有人遇到过这种情况。下面是我用来创建表单的 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="#76766e">
<TableLayout android:stretchColumns="*" android:background="#b8b9c8" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TableRow android:background="#FFFFFA" android:layout_marginTop="2dp"><TextView android:text="@string/event"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp"><EditText android:id="@+id/eventTitle" android:hint="@string/enterEventTitle" android:layout_span="2"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp"><TextView android:text="@string/from"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp"><Button android:id="@+id/fromDateBtn"/><Button android:id="@+id/fromTimeBtn"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp"><TextView android:text="@string/to"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp"><Button android:id="@+id/toDateBtn"/><Button android:id="@+id/toTimeBtn"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp"><TextView android:text="@string/timezone"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp"><Spinner android:id="@+id/timeZones" android:layout_span="2"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp" android:layout_marginBottom="1dp"><TextView android:text="@string/allDay"/><CheckBox android:id="@+id/allDay"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp"><TextView android:text="@string/calendar"/></TableRow>
<TableRow android:background="#FFFFFA"><Spinner android:id="@+id/calendars" android:layout_span="2"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp"><TextView android:textColor="#d81417" android:id="@+id/chosenCalendar"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp"><TextView android:text="@string/repeat"/></TableRow>
<TableRow android:background="#FFFFFA"><Spinner android:layout_span="2" android:id="@+id/repeatChoices"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp"><TextView android:id="@+id/chosenRepeat" android:textColor="#d81417"/></TableRow>
<TableLayout android:background="#FFFFFA" android:id="@+id/reminderTable" android:layout_width="match_parent" android:layout_height="wrap_content">
<TableRow android:id="@+id/reminderRow"><ImageButton android:id="@+id/addReminderBtn" android:src="@drawable/delete_icon"/></TableRow>
<!-- rows get added here for adding reminders -->
</TableLayout>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="1dp" ><TextView android:id="@+id/chosenReminder" android:layout_span="2"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="1dp"><TextView android:text="@string/descriptionTxt"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginBottom="2dp"><EditText android:layout_span="2" android:id="@+id/calendarDescription" android:hint="@string/enterDescription" android:inputType="textMultiLine" android:lines="8" android:minLines="6" android:maxLines="10" android:layout_height="wrap_content" android:layout_width ="0dip"/></TableRow>
<TableRow android:background="#FFFFFA" android:layout_marginTop="2dp"><Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/saveBtn" android:text="@android:string/ok"/><Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/cancelBtn" android:text="@android:string/cancel"/></TableRow>
</TableLayout>
</ScrollView>