Android Textview 停留在滚动位置 - 自动滚动到顶部

问题描述 投票:0回答:0

我正在尝试构建一个琐事应用程序,但在使用文本视图时遇到了一些问题。问题是当我使用长问题文本时,视图停留在用户之前停止滚动的位置。我希望它在加载问题时显示顶部(自动滚动到顶部)。与最初的问题面临同样的问题,但通过改变解决了它

<LinearLayout android:gravity="center" android:layout_gravity="center_vertical" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">

<LinearLayout android:gravity="center" android:layout_gravity="top|center" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">

但是加载第二个问题(以及之后的问题)时,我无法获得相同的结果。现在用户应该手动滚动到顶部来阅读不理想的问题。通过更改xml中的一些值,textview是否可以在加载新问题时显示顶部?

完整的xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:orientation="vertical" android:id="@id/play_layout" android:background="@drawable/background" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <RelativeLayout android:id="@id/relativeLayout" android:background="@color/colorPrimary" android:layout_width="fill_parent" android:layout_height="?android:actionBarSize"
      xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
        <ImageView android:id="@id/back" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" app:srcCompat="@drawable/ic_back" />
        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textStyle="bold" android:textColor="@color/white" android:id="@id/tvLevel" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Select Level" android:layout_toRightOf="@id/back" android:layout_centerVertical="true" />
        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Large" android:textStyle="bold" android:textColor="@color/white" android:id="@id/txt_question" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10.0dip" android:text="1/6" android:layout_toLeftOf="@id/setting" android:layout_centerVertical="true" />
        <ImageView android:id="@id/setting" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10.0dip" android:src="@drawable/settings" android:layout_centerVertical="true" android:layout_alignParentEnd="true" />
    </RelativeLayout>
    <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/relativeLayout">
        <RelativeLayout android:id="@id/wave_layout" android:background="@color/colorPrimary" android:layout_width="fill_parent" android:layout_height="wrap_content">
            <View android:id="@id/divider" android:background="@drawable/drop_shadow" android:layout_width="fill_parent" android:layout_height="6.0dip" />
            <LinearLayout android:orientation="horizontal" android:id="@id/score_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10.0dip" android:weightSum="3.0" android:layout_below="@id/top_panel">
                <LinearLayout android:layout_gravity="center_vertical" android:orientation="vertical" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_weight="1.0">
                    <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <ImageView android:id="@id/right" android:padding="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/check_mark" />
                        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:id="@id/txtTrueQuestion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:text="0" android:layout_toRightOf="@id/right" android:layout_centerVertical="true" />
                    </RelativeLayout>
                    <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <ImageView android:id="@id/wrong" android:padding="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/cancel_mark" />
                        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:gravity="center" android:id="@id/txtFalseQuestion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:text="0" android:layout_toRightOf="@id/wrong" android:layout_centerVertical="true" />
                    </RelativeLayout>
                </LinearLayout>
                <RelativeLayout android:gravity="center" android:padding="5.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
                    <com.quiz.trivia.helper.CircularProgressIndicator android:id="@id/progressBarTwo" android:layout_width="@dimen/progress_h_w" android:layout_height="@dimen/progress_h_w" app:direction="counterclockwise" />
                </RelativeLayout>
                <LinearLayout android:layout_gravity="center" android:orientation="vertical" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
                    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="2.0">
                        <ImageView android:id="@id/imgCoin" android:padding="3.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:src="@drawable/coins" android:layout_weight="1.0" />
                        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:layout_gravity="center" android:id="@id/coin_count" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:text="00" android:layout_weight="1.0" />
                    </LinearLayout>
                    <LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="2.0">
                        <ImageView android:id="@id/imgScore" android:padding="3.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:src="@drawable/score" android:layout_weight="1.0" />
                        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:layout_gravity="center" android:id="@id/txtScore" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:text="00" android:layout_weight="1.0" android:layout_toRightOf="@id/imgScore" />
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
        </RelativeLayout>
        <RelativeLayout android:id="@id/wave" android:background="@drawable/wave_background" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/wave_layout" />
        <RelativeLayout android:id="@id/main_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@id/bottom_panel" android:layout_below="@id/wave">
            <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content">
                <LinearLayout android:gravity="center" android:layout_gravity="center_vertical" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
                    <RelativeLayout android:id="@id/layout_answare" android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/colorPrimaryDark" android:id="@id/txtQuestion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10.0dip" android:text="@string/app_name" android:layout_centerInParent="true" />
                    </RelativeLayout>
                    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="100.0">
                        <LinearLayout android:orientation="vertical" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="85.0">
                            <RelativeLayout android:id="@id/a_layout" android:background="@drawable/answer_bg" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="16.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="16.0dip">
                                <LinearLayout android:orientation="horizontal" android:id="@id/main_option_a" android:background="@color/transparent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5.0dip" android:weightSum="5.0" android:layout_centerVertical="true">
                                    <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:gravity="center|left" android:id="@id/btnOpt1" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="Done" />
                                </LinearLayout>
                            </RelativeLayout>
                            <RelativeLayout android:id="@id/b_layout" android:background="@drawable/answer_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="16.0dip">
                                <LinearLayout android:orientation="horizontal" android:id="@id/main_option_b" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5.0dip" android:layout_centerVertical="true">
                                    <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:gravity="center|left" android:id="@id/btnOpt2" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="Done" />
                                </LinearLayout>
                            </RelativeLayout>
                            <RelativeLayout android:id="@id/c_layout" android:background="@drawable/answer_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="16.0dip">
                                <LinearLayout android:orientation="horizontal" android:id="@id/main_option_c" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5.0dip" android:layout_centerVertical="true">
                                    <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:gravity="center" android:id="@id/btnOpt3" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="Done" />
                                </LinearLayout>
                            </RelativeLayout>
                            <RelativeLayout android:id="@id/d_layout" android:background="@drawable/answer_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="16.0dip" android:layout_marginBottom="8.0dip">
                                <LinearLayout android:orientation="horizontal" android:id="@id/main_option_d" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5.0dip" android:layout_centerVertical="true">
                                    <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textColor="@color/white" android:gravity="center" android:id="@id/btnOpt4" android:padding="5.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="Done" />
                                </LinearLayout>
                            </RelativeLayout>
                        </LinearLayout>
                        <LinearLayout android:orientation="vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:weightSum="4.0" android:layout_weight="15.0">
                            <RelativeLayout android:id="@id/layout_A" android:layout_width="@dimen/circle_progress" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="8.0dip" android:layout_weight="1.0">
                                <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textStyle="bold" android:textColor="@color/white" android:gravity="center" android:id="@id/option_a" android:background="@drawable/circle_bg" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A" android:layout_centerVertical="true" android:layout_alignParentEnd="true" />
                                <com.quiz.trivia.helper.CircularProgressIndicator2 android:id="@id/progress_A" android:background="@drawable/aud_progress_bg" android:visibility="gone" android:layout_width="@dimen/circle_progress" android:layout_height="@dimen/circle_progress" android:layout_centerVertical="true" android:layout_alignParentEnd="true" app:direction="clockwise" />
                            </RelativeLayout>
                            <RelativeLayout android:id="@id/layout_B" android:layout_width="@dimen/circle_progress" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="8.0dip" android:layout_weight="1.0">
                                <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textStyle="bold" android:textColor="@color/white" android:gravity="center" android:id="@id/option_b" android:background="@drawable/circle_bg" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="B" android:layout_centerVertical="true" android:layout_alignParentEnd="true" />
                                <com.quiz.trivia.helper.CircularProgressIndicator2 android:id="@id/progress_B" android:background="@drawable/aud_progress_bg" android:visibility="gone" android:layout_width="@dimen/circle_progress" android:layout_height="@dimen/circle_progress" android:layout_centerVertical="true" android:layout_alignParentEnd="true" app:direction="clockwise" />
                            </RelativeLayout>
                            <RelativeLayout android:id="@id/layout_C" android:layout_width="@dimen/circle_progress" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="8.0dip" android:layout_weight="1.0" android:layout_centerVertical="true" android:layout_alignParentEnd="true">
                                <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textStyle="bold" android:textColor="@color/white" android:gravity="center" android:id="@id/option_c" android:background="@drawable/circle_bg" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="C" android:layout_centerVertical="true" android:layout_alignParentEnd="true" />
                                <com.quiz.trivia.helper.CircularProgressIndicator2 android:id="@id/progress_C" android:background="@drawable/aud_progress_bg" android:visibility="gone" android:layout_width="@dimen/circle_progress" android:layout_height="@dimen/circle_progress" android:layout_centerVertical="true" android:layout_alignParentEnd="true" app:direction="clockwise" />
                            </RelativeLayout>
                            <RelativeLayout android:id="@id/layout_D" android:layout_width="@dimen/circle_progress" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="8.0dip" android:layout_marginBottom="8.0dip" android:layout_weight="1.0" android:layout_centerVertical="true" android:layout_alignParentEnd="true">
                                <TextView android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textStyle="bold" android:textColor="@color/white" android:gravity="center" android:id="@id/option_d" android:background="@drawable/circle_bg" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="D" android:layout_centerVertical="true" android:layout_alignParentEnd="true" />
                                <com.quiz.trivia.helper.CircularProgressIndicator2 android:id="@id/progress_D" android:background="@drawable/aud_progress_bg" android:visibility="gone" android:layout_width="@dimen/circle_progress" android:layout_height="@dimen/circle_progress" android:layout_centerVertical="true" android:layout_alignParentEnd="true" app:direction="clockwise" />
                            </RelativeLayout>
                        </LinearLayout>
                    </LinearLayout>
                </LinearLayout>
            </ScrollView>
        </RelativeLayout>
        <RelativeLayout android:gravity="bottom" android:id="@id/bottom_panel" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true">
            <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="5.0dip" android:weightSum="4.0">
                <ImageView android:id="@id/fifty_fifty" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginRight="@dimen/left_rigth_margin_score_button" android:src="@drawable/fifty" android:layout_weight="1.0" android:layout_centerHorizontal="true" />
                <ImageView android:id="@id/skip_quation" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginRight="@dimen/left_rigth_margin_score_button" android:src="@drawable/skip" android:layout_weight="1.0" android:layout_centerHorizontal="true" />
                <ImageView android:id="@id/audience_poll" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginRight="@dimen/left_rigth_margin_score_button" android:src="@drawable/audiance" android:layout_weight="1.0" android:layout_centerHorizontal="true" />
                <ImageView android:id="@id/reset_timer" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginRight="@dimen/left_rigth_margin_score_button" android:src="@drawable/timer" android:layout_weight="1.0" android:layout_centerHorizontal="true" />
            </LinearLayout>
        </RelativeLayout>
    </RelativeLayout>
</RelativeLayout>

将 android:layout_gravity="center_vertical" 更改为 android:layout_gravity="top|center" 但它只解决了第一个问题。从此就卡在了滚动位置

xml android-layout textview scrollview
© www.soinside.com 2019 - 2024. All rights reserved.