`
java-mans
  • 浏览: 11710954 次
文章分类
社区版块
存档分类
最新评论

Android RadioGroup中横向、竖向布局RadioButton的问题

 
阅读更多

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>


通过修改RadioButtonandroid:layout_marginLeftandroid:layout_marginTop属性实现

分享到:
评论

相关推荐

    android中实现导航条横向滚动

    在Android开发中,创建一个可横向滚动的导航条是一个常见的需求,这通常涉及到自定义视图或者使用已有的布局组件来实现。在这个场景下,我们可以使用`RadioGroup`结合横向滚动视图`HorizontalScrollView`来达成目的...

    Android例子源码动态添加RadioGroup的RadioButton.zip

    在Android开发中,有时我们需要根据需求动态地在界面上创建并添加组件,比如RadioGroup中的RadioButton。本示例代码提供了一种方法,教你如何通过编程方式实现这一功能,无需在XML布局文件中预定义这些元素。这个...

    Android 自定义View实现任意布局的RadioGroup效果

    这种方法可以解决传统的 RadioGroup 只支持横向或者竖向两种布局的问题,使得开发者可以更加灵活地布局RadioButton。 在 Android 中,RadioGroup 是继承 LinearLayout,只支持横向或者竖向两种布局。这使得在某些...

    RadioButton和RadioGroup实例

    在Android开发中,`RadioButton`和`RadioGroup`是两个重要的UI组件,它们常用于创建单选按钮组,让用户在多个选项中选择一个。在这个实例中,我们将深入探讨这两个组件的使用方法、功能以及如何在实际应用中实现它们...

    Android中RadioButton的作用与定义.pdf

    在实际应用中,我们通常会将多个RadioButton放入一个RadioGroup中,RadioGroup是一个可以容纳多个RadioButton的容器,它继承自LinearLayout,因此可以控制其内部子组件的布局方向,例如横向或纵向排列。 ...

    RadioGroup实现单选框的多行排列

    RadioGroup的使用非常简单,只是一般情况下,只能是横向排列或竖向排列.如果让多横排列的的就不是那么简单的了。 也许有童鞋该说了,将RadioButton写到LineLayout中不久行了吗?经过检验确实可以那样做,刚开始我...

    Android自定义View之RadioGroup实现跨多行显示

    在使用这个自定义的 RadioGroup 时,可以在布局文件中添加以下代码: ```xml &lt;com.example.RadioGroup android:id="@+id/radio_group" android:layout_width="wrap_content" android:layout_height="wrap_content...

    radiogroup:使用RadioGroup以及RadioButton自定义样式实现喜马拉雅底部的切换功能

    在Android开发中,`RadioGroup`和`RadioButton`是两个常用的UI组件,它们常用于创建单选按钮组,用户可以在其中选择一个选项。本篇将详细介绍如何利用`RadioGroup`和`RadioButton`来实现类似喜马拉雅底部的切换功能...

    自定义HorizontalScrollView模仿RadioGroup+Fragment+ViewPager的翻页与点击效果,效果完全一样.161124更新

    在Android开发中,有时我们需要实现类似RadioGroup与Fragment或ViewPager结合的翻页和点击效果,以提供用户友好的界面交互。这个"自定义HorizontalScrollView模仿RadioGroup+Fragment+ViewPager的翻页与点击效果...

    流式 FlowRadioGroup

    在Android开发中,RadioGroup通常用于管理一组RadioButton,确保用户只能选择其中的一个选项。而FlowRadioGroup则是在此基础上进行扩展,提供更加灵活的布局控制。 FlowRadioGroup的主要特点和功能包括: 1. **...

    动态添加标签的导航栏

    1. **布局设计**:首先,在XML布局文件中,我们需要一个`HorizontalScrollView`作为容器,并在其中嵌套一个`LinearLayout`(或`RadioGroup`,因为`RadioButton`通常需要放在`RadioGroup`内以实现单选行为)。...

    列表中实现单元格的单选

    通常,Android原生的RadioGroup控件只支持横向或纵向排列的单选按钮,但在这个工程中,开发者通过自定义布局和逻辑,成功地实现了元素的自动换行和多行单选功能,这在设计复杂的表格界面时非常有用。 1. 单选框...

    android导航菜单集合

    在导航菜单中,它通常用于创建横向滑动的选项卡布局,用户可以左右滑动查看不同内容。 8. **TabDemo**:Tab布局是一种常见的导航方式,尤其适用于多视图切换场景。Android提供了TabHost和ViewPager等组件来实现Tab...

    Android源码——多种android控件的Demo_new_40.zip

    5. **单选按钮(RadioButton)**和**复选框(CheckBox)**:用于实现多选一或多选功能,常与RadioGroup或LinearLayout结合使用。开发者需要处理它们的选中状态和响应事件。 6. **滑动条(SeekBar)**:提供一个可...

    Android实现类似网易新闻选项卡动态滑动效果

    将每个RadioButton添加到RadioGroup中,最后将RadioGroup添加到LinearLayout中。 ```java // 初始化标题列表 titleList.add("推荐"); // ... // 创建RadioGroup myRadioGroup = new RadioGroup(this); ...

    Android项目实战之仿网易顶部导航栏效果

    在XML布局文件中,每个`RadioButton`都有一个唯一的ID,`layout_weight`属性用于分配权重,使它们在水平方向上平分空间,`text`属性则用于设置按钮上的文本内容。 ```xml &lt;RadioGroup android:id="@+id/add_tab_...

    Android BOOK看遍所有UI控件.zip

    本资源“Android BOOK看遍所有UI控件.zip”显然是一份详尽的Android UI控件学习资料,包含可能的PDF书籍或教程,旨在帮助开发者全面掌握Android中的各种UI组件。以下将详细讨论Android UI控件及其相关知识点: 1. *...

Global site tag (gtag.js) - Google Analytics