我正在“高级Android开发课程”中进行练习。此代码不显示RadioButtons
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/my_fragment_color"
android:orientation="horizontal"
tools:context=".SimpleFragment">
<TextView
android:id="@+id/fragment_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:padding="10dp"
android:text="@string/question_article"/>
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_button_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/yes"/>
<RadioButton
android:id="@+id/radio_button_no"
android:layout_marginRight="8dp"
android:text="@string/no"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
删除
RadioButtons
时出现 TextView
。 TextView
如何隐藏这些按钮?我也尝试使用marginEnd
或权重属性,但这不是解决方案。
答案 0 :(得分:4)
您的 TextView
高 match_parent
,这就是您的RadioButton
不可见的原因
尝试在您的 android:layout_weight="1"
中设置 TextView
可以
尝试一下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/my_fragment_color"
android:orientation="horizontal"
tools:context=".SimpleFragment">
<TextView
android:id="@+id/fragment_header"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:padding="10dp"
android:text="@string/question_article"/>
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_button_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/yes"/>
<RadioButton
android:id="@+id/radio_button_no"
android:layout_marginRight="8dp"
android:text="@string/no"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
</LinearLayout>
答案 1 :(得分:2)
尝试一下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/fragment_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="10dp"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:text="@string/question_article"/>
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_button_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/yes"/>
<RadioButton
android:id="@+id/radio_button_no"
android:layout_marginRight="8dp"
android:text="@string/no"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
</LinearLayout>
答案 2 :(得分:2)
使用换行内容作为TextView的高度和宽度,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/gray_btn_bg_color"
android:orientation="horizontal">
<TextView
android:id="@+id/fragment_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:padding="10dp"
android:text="question_article"/>
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_button_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="yes"/>
<RadioButton
android:id="@+id/radio_button_no"
android:text="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
</LinearLayout>
您可以使用 weight属性根据视图的权重将部分布局空间分配给视图,为了获得更好的响应UI,请尝试使用 ConstraintLayout 。要了解有关ConstraintLayout的更多信息,请点击Here
答案 3 :(得分:2)
您的LinearLayout
是orientation="horizontal"
,但您的第一个TextView
的宽度为layout_width="match_parent"
,没有其他视图空间。
查看布局。我不确定您是否要在TextView
上方垂直放置RadioButton
。
答案 4 :(得分:1)
此textView
的属性分配不正确
android:layout_width="match_parent"
改为分配wrap_content
,它将起作用。