我的 RadioGroup 中的 RadioButtons 的间距有点问题。根据预览,它应该是这样的:
但在我运行 KitKat 的手机上,它看起来像这样:
这很令人困惑,因为在运行 Lollipop 的手机上,使用完全相同的代码看起来非常好:
由于某些原因,在早期版本中 RadioGroup 似乎无缘无故地超出了父布局。我已经坚持了几个小时,并尝试了可能存在的 layout_height、gravity、layout_gravity 和 weight 的每一种组合。据我所知,它似乎几乎忽略了 layout_below 属性。但为什么!提前致谢,XML代码如下
<RelativeLayout
android:id="@+id/genderLayout"
android:layout_below="@+id/genderText"
style="@style/EditProfBoxStyle">
<TextView
android:id="@+id/maleText"
android:text="@string/choice_male"
style="@style/Text.Medium.EditProfile"/>
<TextView
android:id="@+id/femaleText"
android:text="@string/choice_female"
android:layout_below="@+id/maleText"
style="@style/Text.Medium.EditProfile" />
<TextView
android:id="@+id/bothText"
android:text="@string/choice_both"
android:layout_below="@+id/femaleText"
style="@style/Text.Medium.EditProfile"/>
<RadioGroup
android:id="@+id/genderGroup"
style="@style/RadioGroupStyle"
android:layout_alignBottom="@id/bothText"
android:layout_alignTop="@id/maleText">
<RadioButton
android:id="@+id/maleCheckBox"
style="@android:style/Widget.CompoundButton.CheckBox"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
<RadioButton
android:id="@+id/femaleCheckBox"
style="@android:style/Widget.CompoundButton.CheckBox"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
<RadioButton
android:id="@+id/bothCheckBox"
style="@android:style/Widget.CompoundButton.CheckBox"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="0dp"/>
</RadioGroup>
</RelativeLayout>
RadioGroup 风格:
<style name="RadioGroupStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignParentRight">true</item>
<item name="android:layout_alignParentEnd">true</item>
</style>
编辑:问题肯定出在我作为父母使用的滚动视图上。
如果我删除滚动视图,一切都会恢复正常。而且我已经包括在内fillviewport=true
,所以我不知道问题是什么
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.richluick.android.roomie.ui.activities.EditProfileActivity">
<!--Relative layout with RadioButtons from above goes here-->
</RelativeLayout>