更改relativelayout的宽度时,ScrollBar会消失

时间:2018-03-11 09:11:10

标签: android radio-button radio-group

好的,所以我有一个带有relativelayout的radiogroup,带有带有RadioButtons的linearlayout的scrollview。当我更改relativelayout宽度以移动滚动条时,滚动条就会消失。见下图:

ScrollBar in wrong position

ScrollBar gone after changed width

以XML格式:

    <RadioGroup
    android:id="@+id/radioGroupLang"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_alignStart="@+id/textLangHidden"
    android:layout_below="@+id/textLangHidden"
    android:layout_marginTop="15dp"
    android:background="@drawable/custom_border"
    android:paddingBottom="5dp"
    android:paddingEnd="75dp"
    android:paddingStart="13dp"
    android:paddingTop="10dp">

    <RelativeLayout
        android:layout_width="170dp"
        android:layout_height="match_parent">

        <ScrollView
            android:layout_width="170dp"
            android:layout_height="216dp"
            android:scrollbarSize="10dp">

            <LinearLayout
                android:layout_width="170dp"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <RadioButton
                    android:id="@+id/rbChinese"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbChinese"
                    android:text="@string/chinese"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbEnglish"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbEnglish"
                    android:text="@string/english"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbFrench"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbFrench"
                    android:text="@string/french"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbJapanese"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbJapanese"
                    android:text="@string/japanese"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbKorean"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbKorean"
                    android:text="@string/korean"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbRussian"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbRussian"
                    android:text="@string/russian"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbSpanish"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbSpainsh"
                    android:text="@string/spanish"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

                <RadioButton
                    android:id="@+id/rbSwedish"
                    android:layout_width="180dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="rbSwedish"
                    android:text="@string/swedish"
                    android:textAllCaps="false"
                    android:textColor="@android:color/darker_gray" />

            </LinearLayout>
        </ScrollView>

    </RelativeLayout>

</RadioGroup>

如果有人能告诉我我做错了什么,请发表评论。

1 个答案:

答案 0 :(得分:1)

您需要更改此部分:

android:paddingEnd="75dp"

...类似于:

android:paddingEnd="5dp"

RadioGroup仅限于:

android:layout_width="200dp"

由于RelativeLayout,Scrollview等限制为170dp,因此栏位于边缘“隐藏”之后。 170dp + 75dp = 245dp。最后45dp变得不可见。保证金为10dp。