Android 实现radiobutton单选换行效果
2023-03-07 09:08:02 时间
上面这个是实现后的效果图,是实现后的效果。
因为我这个分类是写死的,不是动态获取的,所以我没有用RadioGroup然后动态添加radioButton,因为Radiogroup设置换行以及每行的个数非常麻烦,也没有用类似gridView实现。这个就是写死的RadioButton。
xml布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_10"
android:layout_marginRight="@dimen/margin_10"
android:layout_marginTop="@dimen/margin_15"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="建筑分类"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_15"
android:orientation="horizontal">
<RadioButton
android:id="@+id/build_type_one"
style="@style/radio_button_bg_style"
android:text="房建" />
<RadioButton
android:id="@+id/build_type_two"
style="@style/radio_button_bg_style"
android:text="市政" />
<RadioButton
android:id="@+id/build_type_three"
style="@style/radio_button_bg_style"
android:text="轨道交通" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/build_type_four"
style="@style/radio_button_bg_style"
android:text="园林绿化" />
<RadioButton
android:id="@+id/build_type_five"
style="@style/radio_button_bg_style"
android:text="矿山" />
<RadioButton
android:id="@+id/build_type_six"
style="@style/radio_button_bg_style"
android:text="矿山"
android:visibility="invisible" />
</LinearLayout>
</LinearLayout>
分别给每个radioButton设置click点击事件。
//建筑类型
mBuildOne = findViewById(R.id.build_type_one);
mBuildTwo = findViewById(R.id.build_type_two);
mBuildThree = findViewById(R.id.build_type_three);
mBuildFour = findViewById(R.id.build_type_four);
mBuildFive = findViewById(R.id.build_type_five);
mBuildOne.setOnClickListener(this);
mBuildTwo.setOnClickListener(this);
mBuildThree.setOnClickListener(this);
mBuildFour.setOnClickListener(this);
mBuildFive.setOnClickListener(this);
然后点击事件里面这样设置
case R.id.build_type_one:
mBuildOne.setChecked(true);
mBuildTwo.setChecked(false);
mBuildThree.setChecked(false);
mBuildFour.setChecked(false);
mBuildFive.setChecked(false);
其实很简单的思路,这个如果就是简单单纯的布局完全可以这样写,但是如果是 大量的分类单选选项就不能这样写了。
比如考试题一页5道题 ,每题4个选项就要动态去写了 可以用recycleview+gridView实现。
相关文章
- 现在可用:裸机基于 Arm 的 EC2 实例
- Java的方向。。。
- java8600手机
- python yield from (一)
- AWS App Mesh – 云应用的应用级联网
- Amazon Cognito 集成微信登录部署系列(五)客户端集成 Cognito 验证
- Amazon Cognito 集成微信登录部署系列(四)实现验证逻辑、发布 API
- Amazon Cognito集成微信登录部署系列(二)用Lambda开发服务端API
- Amazon Cognito 集成微信登录部署系列(一)Cognito 身份池、Dynamodb 表和创建 Lambda 函数
- 无服务器模式和创业公司,美好友谊的开端
- 新 – EC2 实例 (A1) 由基于 Arm 的 AWS Graviton Processors 提供支持
- python2 urlencod urldecode
- python __getattr__ 巧妙应用
- 4大案例分析金融机构的大数据应用
- 一个资深数据人对数据挖掘解读
- Qunar用户画像构建策略及应用实践
- 国家大数据平台知多少?八大平台前景可期!
- 清华教授魏少军解读国家大数据中心如何运行
- “大数据”显然已经成为新一代“网红”
- 文化传媒领域大数据应用案例(德国世界杯夺冠、福建智慧旅游、携程商业智能)