Android GridLayout网格布局、RadioGroup组合框
16lz
2021-01-23
GridLayout网格布局
GridLayout布局是Android4.0(API Level 14)新引入的网格矩阵形式的布局控件。
android:alignmentMode 说明:当设置alignMargins,使视图的外边界之间进行校准。可以取以下值: alignBounds – 对齐子视图边界。 alignMargins – 对齐子视距内容。android:columnCount 说明:GridLayout的最大列数android:rowCount 说明:GridLayout的最大行数android:columnOrderPreserved 说明:当设置为true,使列边界显示的顺序和列索引的顺序相同。默认是true。android:orientation 说明:GridLayout中子元素的布局方向。有以下取值: horizontal – 水平布局。 vertical – 竖直布局。android:rowOrderPreserved 说明:当设置为true,使行边界显示的顺序和行索引的顺序相同。默认是true。android:useDefaultMargins 说明: 当设置ture,当没有指定视图的布局参数时,告诉GridLayout使用默认的边距。默认值是false。
子元素属性
android:layout_column 说明:显示该子控件的列,例如android:layout_column=”0”,表示当前子控件显示在第1列android:layout_column=”1”表示当前子控件显示在第2列。android:layout_columnSpan 说明:该控件所占的列数,例如android:layout_columnSpan=”2”,表示当前子控件占两列。android:layout_row 说明:显示该子控件的行,例如android:layout_row=”0”,表示当前子控件显示在第1行,android:layout_row=”1”表示当前子控件显示在第2行。android:layout_rowSpan 说明:该控件所占的列数,例如android:layout_rowSpan=”2”,表示当前子控件占两行。android:layout_columnWeight 说明:该控件的列权重,与android:layout_weight类似,例如有GridLayout上两列,都设置android:layout_columnWeight = “1”,则两列各占GridLayout宽度的一半android:layout_rowWeight 说明:该控件的行权重,原理同android:layout_columnWeight。
平均分配格行/列的问题
GridLayout在Android 5.1(API Level 21)时引入了android:layout_columnWeight和android:layout_rowWeight来解决平分问题,但是API21前怎么办呢?
1.需要用到兼容包:compile 'com.android.support:gridlayout-v7:22.+' 2.布局中使用android.support.v7.widget.GridLayout... 3.使用app:layout_columnWeight 和app:layout_rowWeight 设置权重
RadioGroup单选组合框
要实现RadioButton由两部分组成,也就是RadioButton和RadioGroup配合使用,其中RdioGroup是单选组合框,
可以容纳多个RadioButton的一个容器。在没有RadioGroup的情况下,RadioButton可以全部被选中;
当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个,从而达到了单选的目的。
RadioGroup属性:
RadioGroup的相关属性:RadioGroup.getCheckedRadioButtonId();该方法可以获取选中的按钮RadioGroup.clearCheck();该方法可以清除选中状态setOnCheckedChangeLintener(RadioGroup.OnCheckedChangeListener listener);当一个单选按钮组中的单选按钮选中状态发生改变的时候调用的回调方法RadioGroup.check(int id);该方法可以通过传入ID来设置该选项为选中状态addView(View child,int index, ViewGroup.LayoutParams params);使用指定布局参数添加一个字视图(其中child是要添加的子视图,index是将要添加子视图的位置,params 所要添加的子视图的布局参数)RadioButton.getText();获取单选框的值此外,RadioButton的checked属性设置为true,代码里调用RadioButton的check(id)方法,不会触发onCheckedChanged事件
RadioGroup和RadioButton的关系:
RadioButton表示单个原型单选框,而RadioGroup是可以容纳多个RadioButton的容器每个RadioGroup中的RadioButton同时只能有一个被选中不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,那么组B中依然可以有一个被选中。在大部分场合下,一个RadioGroup中至少有两个RadioButton在大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup的起始位置
RadioGroup和RadioButton的区别:
单个RadioButton选中之后,通过点击无法变为未选中单个CheckBox在选中后,通过点击可以变为未选中一组RadioButton,只能同时选中一个一组CheckBox,能同时选中多个RadioButton在大部分UI框架中默认都以圆形表示CheckBox在大部分UI框架中默认都以矩形表示
与君共勉
我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
更多相关文章
- Android UI设计——ImageView和ImageButton控件
- Android之ConstraintLayout(依赖约束)布局
- Android中常用基本控件的使用方法和步骤(.txt)
- Android进阶(二十七)Android原生扰人烦的布局
- Android UI设计——ListView控件与SimpleAdapter适配器(三)
- android 五大布局经典演绎
- 浅谈Android常用控件
- Android 自定义控件实现刮刮卡效果 真的就只是刮刮卡么