RadioGroup默认的横向android:orientation="horizontal"、竖向布局android:orientation="vertical",无法设置每行显示的个数,只能全部横向显示或者竖向显示。
而通过线性布局模版后,RadioButton却变成不是同一个组的,变成不是单选的,达不到原先想要的效果。
本例中是想在RadioGroup中一行显示2个RadioButton,上面的方法行不通,后来发现在RadioButton用android:layout_marginLeft和android:layout_marginTop可能设置RadioButton的相对位置,于是,通过下面代码,实现了一行显示2列RadioButton,目前还未测试在不同分辨率下是否会出现误差。效果图如下:
布局代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_sort"
android:layout_width="fill_parent"
android:layout_height="120px"
android:layout_weight="1"
android:orientation="vertical"
android:layout_gravity="center"
android:gravity="center"
android:layout_margin="5px"
android:paddingLeft="10px"
android:paddingRight="10px"
android:paddingTop="5px"
android:paddingBottom="5px">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fadingEdge="vertical">
<LinearLayout android:id="@+id/layout_sort0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout android:id="@+id/layout_sort1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="left"
android:gravity="left">
<TextView android:id="@+id/rename_sortTitle"
android:layout_width="fill_parent"
android:layout_height="32px"
android:singleLine="true"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center_vertical|left"
android:layout_gravity="center_vertical|left"
android:text="请选择排序方式:" />
<RadioGroup android:id="@+id/orderBy"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton android:id="@+id/orderBy1"
android:text="名称"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioButton android:id="@+id/orderBy2"
android:text="日期"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="120px"
android:layout_marginTop="-48px"/>
<RadioButton android:id="@+id/orderBy3"
android:text="类型"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioButton android:id="@+id/orderBy4"
android:text="大小"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="120px"
android:layout_marginTop="-48px" />
<RadioButton android:id="@+id/orderBy5"
android:text="系统默认"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
<View android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#ff666666" />
<RadioGroup android:id="@+id/orderLx"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton android:id="@+id/orderLx1"
android:text="升序"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton android:id="@+id/orderLx2"
android:text="降序"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="120px"
android:layout_marginTop="-48px" />
</RadioGroup>
</LinearLayout>
<LinearLayout android:id="@+id/layout_sort2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">
<Button android:id="@+id/sortOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"
android:layout_margin="5px"/>
<Button android:id="@+id/sortCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消"
android:layout_margin="5px"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
通过修改RadioButton的android:layout_marginLeft和android:layout_marginTop属性实现
分享到:
相关推荐
在Android开发中,创建一个可横向滚动的导航条是一个常见的需求,这通常涉及到自定义视图或者使用已有的布局组件来实现。在这个场景下,我们可以使用`RadioGroup`结合横向滚动视图`HorizontalScrollView`来达成目的...
在Android开发中,有时我们需要根据需求动态地在界面上创建并添加组件,比如RadioGroup中的RadioButton。本示例代码提供了一种方法,教你如何通过编程方式实现这一功能,无需在XML布局文件中预定义这些元素。这个...
这种方法可以解决传统的 RadioGroup 只支持横向或者竖向两种布局的问题,使得开发者可以更加灵活地布局RadioButton。 在 Android 中,RadioGroup 是继承 LinearLayout,只支持横向或者竖向两种布局。这使得在某些...
在Android开发中,`RadioButton`和`RadioGroup`是两个重要的UI组件,它们常用于创建单选按钮组,让用户在多个选项中选择一个。在这个实例中,我们将深入探讨这两个组件的使用方法、功能以及如何在实际应用中实现它们...
在实际应用中,我们通常会将多个RadioButton放入一个RadioGroup中,RadioGroup是一个可以容纳多个RadioButton的容器,它继承自LinearLayout,因此可以控制其内部子组件的布局方向,例如横向或纵向排列。 ...
RadioGroup的使用非常简单,只是一般情况下,只能是横向排列或竖向排列.如果让多横排列的的就不是那么简单的了。 也许有童鞋该说了,将RadioButton写到LineLayout中不久行了吗?经过检验确实可以那样做,刚开始我...
在使用这个自定义的 RadioGroup 时,可以在布局文件中添加以下代码: ```xml <com.example.RadioGroup android:id="@+id/radio_group" android:layout_width="wrap_content" android:layout_height="wrap_content...
在Android开发中,`RadioGroup`和`RadioButton`是两个常用的UI组件,它们常用于创建单选按钮组,用户可以在其中选择一个选项。本篇将详细介绍如何利用`RadioGroup`和`RadioButton`来实现类似喜马拉雅底部的切换功能...
在Android开发中,有时我们需要实现类似RadioGroup与Fragment或ViewPager结合的翻页和点击效果,以提供用户友好的界面交互。这个"自定义HorizontalScrollView模仿RadioGroup+Fragment+ViewPager的翻页与点击效果...
在Android开发中,RadioGroup通常用于管理一组RadioButton,确保用户只能选择其中的一个选项。而FlowRadioGroup则是在此基础上进行扩展,提供更加灵活的布局控制。 FlowRadioGroup的主要特点和功能包括: 1. **...
1. **布局设计**:首先,在XML布局文件中,我们需要一个`HorizontalScrollView`作为容器,并在其中嵌套一个`LinearLayout`(或`RadioGroup`,因为`RadioButton`通常需要放在`RadioGroup`内以实现单选行为)。...
通常,Android原生的RadioGroup控件只支持横向或纵向排列的单选按钮,但在这个工程中,开发者通过自定义布局和逻辑,成功地实现了元素的自动换行和多行单选功能,这在设计复杂的表格界面时非常有用。 1. 单选框...
在导航菜单中,它通常用于创建横向滑动的选项卡布局,用户可以左右滑动查看不同内容。 8. **TabDemo**:Tab布局是一种常见的导航方式,尤其适用于多视图切换场景。Android提供了TabHost和ViewPager等组件来实现Tab...
5. **单选按钮(RadioButton)**和**复选框(CheckBox)**:用于实现多选一或多选功能,常与RadioGroup或LinearLayout结合使用。开发者需要处理它们的选中状态和响应事件。 6. **滑动条(SeekBar)**:提供一个可...
将每个RadioButton添加到RadioGroup中,最后将RadioGroup添加到LinearLayout中。 ```java // 初始化标题列表 titleList.add("推荐"); // ... // 创建RadioGroup myRadioGroup = new RadioGroup(this); ...
在XML布局文件中,每个`RadioButton`都有一个唯一的ID,`layout_weight`属性用于分配权重,使它们在水平方向上平分空间,`text`属性则用于设置按钮上的文本内容。 ```xml <RadioGroup android:id="@+id/add_tab_...
本资源“Android BOOK看遍所有UI控件.zip”显然是一份详尽的Android UI控件学习资料,包含可能的PDF书籍或教程,旨在帮助开发者全面掌握Android中的各种UI组件。以下将详细讨论Android UI控件及其相关知识点: 1. *...