【问题标题】:ScrollBar disappears when changing width of relativelayout更改相对布局的宽度时,滚动条消失
【发布时间】:2018-03-12 06:57:37
【问题描述】:

好的,所以我有一个带有相对布局的单选组,带有带有单选按钮的线性布局的滚动视图。当我更改相对布局宽度以移动滚动条时,滚动条就会消失。见下图:

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>

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

【问题讨论】:

    标签: android radio-button radio-group


    【解决方案1】:

    你需要改变这部分:

    android:paddingEnd="75dp"
    

    ...类似于:

    android:paddingEnd="5dp"
    

    RadioGroup 仅限于:

    android:layout_width="200dp"
    

    由于 RelativeLayout、Scrollview 等限制为 170dp,因此该栏在边距“后面”变得不可见。 170dp + 75dp = 245dp。最后 45dp 变得不可见。边距为 10dp。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-16
      • 2011-06-03
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      相关资源
      最近更新 更多