Android布局:屏幕在进行更改时滚动到表单顶部

时间:2013-02-10 23:34:33

标签: android scrollview tablelayout

我目前正在开发一个Android应用程序,它使用创建calendarcontract事件......基本上是一个轻量级的日历应用程序。我创建的表单在scrollview中使用表格布局。我注意到当我从表单中的下拉列表中选择一个值时,页面会滚动回到表单的顶部。我不希望这种情况发生。我希望用户保持在页面上的位置,而不是页面滚动回到表单的顶部。我搜索了论坛,但我找不到任何理由。我不确定是否需要在布局标签中添加内容或者不需要添加内容。有没有人曾经遇到过这个。下面是我用来创建表单的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>

0 个答案:

没有答案