Android开发者必备ThemedToggleButtonGroup API完全参考指南【免费下载链接】themed-toggle-button-groupCustomisable toggle buttons inside a FlexboxLayout.项目地址: https://gitcode.com/gh_mirrors/th/themed-toggle-button-groupThemedToggleButtonGroup是Android平台上高度可定制的轻量级切换按钮库基于Google的FlexboxLayout构建为开发者提供了灵活且强大的切换按钮组解决方案。无论你是Android开发新手还是经验丰富的开发者这个库都能帮助你快速创建美观、功能丰富的切换按钮界面。 核心功能概览ThemedToggleButtonGroup库的核心功能包括单选框模式和复选框模式支持丰富的动画效果和高度自定义的样式配置。通过简单的XML配置或代码调用你可以创建出专业级的用户界面。 快速安装指南在你的Android项目中使用ThemedToggleButtonGroup非常简单。首先在项目的build.gradle文件中添加依赖dependencies { implementation nl.bryanderidder:themed-toggle-button-group:1.4.1 }对于Java项目还需要添加Kotlin标准库依赖implementation org.jetbrains.kotlin:kotlin-stdlib:1.6.0 单选框模式实现单选框模式允许用户从多个选项中选择一个。这是最常见的切换按钮使用场景nl.bryanderidder.themedtogglebuttongroup.ThemedToggleButtonGroup android:idid/time android:layout_widthmatch_parent android:layout_heightwrap_content app:justifyContentcenter nl.bryanderidder.themedtogglebuttongroup.ThemedButton android:idid/btn1 android:layout_widthwrap_content android:layout_height38dp app:toggle_text5:30PM / nl.bryanderidder.themedtogglebuttongroup.ThemedButton android:idid/btn2 android:layout_widthwrap_content android:layout_height38dp app:toggle_text7:30PM / /nl.bryanderidder.themedtogglebuttongroup.ThemedToggleButtonGroup 复选框模式配置多选模式通过toggle_selectableAmount和toggle_requiredAmount属性控制可选和必选数量nl.bryanderidder.themedtogglebuttongroup.ThemedToggleButtonGroup android:idid/tags android:layout_widthmatch_parent android:layout_heightwrap_content app:toggle_selectableAmount3 app:toggle_requiredAmount1 app:justifyContentspace_between app:flexWrapwrap nl.bryanderidder.themedtogglebuttongroup.ThemedButton android:idid/tag1 android:layout_widthwrap_content android:layout_height30dp android:layout_margin3dp app:toggle_text社交 / !-- 更多按钮 -- /nl.bryanderidder.themedtogglebuttongroup.ThemedToggleButtonGroup✨ 动画效果大全ThemedToggleButtonGroup提供了6种炫酷的选择动画效果让你的应用界面更加生动动画类型效果描述示例CIRCULAR_REVEAL圆形展开动画FADE淡入淡出动画HORIZONTAL_SLIDE水平滑动动画VERTICAL_SLIDE垂直滑动动画HORIZONTAL_WINDOW水平窗口动画VERTICAL_WINDOW垂直窗口动画在XML中设置动画app:toggle_selectAnimationcircular_reveal或者在代码中动态设置val themedToggleButtonGroup findViewByIdThemedToggleButtonGroup(R.id.themedToggleButtonGroup) themedToggleButtonGroup.selectAnimation SelectAnimation.HORIZONTAL_SLIDE 图标按钮定制ThemedToggleButtonGroup支持带图标的按钮可以显示不同的选中和未选中图标nl.bryanderidder.themedtogglebuttongroup.ThemedButton android:idid/btnMic android:layout_width70dp android:layout_height70dp app:toggle_btnCornerRadius50dp app:toggle_borderWidth5dp app:toggle_borderColor#C6C6C6 app:toggle_selectedBorderColor#5e6fed app:toggle_icondrawable/ic_mic_off_black_24dp app:toggle_iconColor#C6C6C6 app:toggle_selectedIcondrawable/ic_mic_black_24dp app:toggle_backgroundColorandroid:color/white app:toggle_iconPadding18dp / 文本图标组合结合文本和图标创建更加丰富的按钮样式nl.bryanderidder.themedtogglebuttongroup.ThemedButton android:idid/card1 android:layout_width0dp android:layout_height145dp app:layout_flexGrow1 app:toggle_selectedTextColorandroid:color/white app:toggle_selectedBackgroundColor#5e6fed app:toggle_icondrawable/replace_with_svg_icon app:toggle_iconGravitytop|center app:toggle_iconPaddingTop15dp app:toggle_iconPaddingHorizontal15dp app:toggle_textPaddingBottom20dp app:toggle_text多项选择 app:toggle_textGravitybottom|center / ThemedToggleButtonGroup API参考核心属性配置属性默认值描述toggle_selectableAmount1允许选择的按钮数量toggle_requiredAmount1必须选择的按钮数量toggle_horizontalSpacing10dp按钮之间的水平间距toggle_selectAnimationCIRCULAR_REVEAL选择动画类型代码API方法// 获取所有按钮 val allButtons themedButtonGroup.buttons // 获取选中的按钮 val selectedButtons themedButtonGroup.selectedButtons // 设置选择监听器 themedButtonGroup.setOnSelectListener { button: ThemedButton - // 处理按钮选择 } // 动态选择按钮带动画 buttonGroup.selectButtonWithAnimation(btn) // 动态选择按钮无动画 buttonGroup.selectButton(btn) // 启用/禁用按钮 btn.isEnabled false ThemedButton自定义属性大全文本相关属性属性默认值描述toggle_text空字符串按钮文本toggle_selectedTexttoggle_text选中时的文本toggle_textSize15sp文本大小toggle_textAlignmentcenter文本对齐方式toggle_fontFamilyRoboto字体文件路径颜色相关属性属性默认值描述toggle_backgroundColor#EBEBEB未选中背景色toggle_selectedBackgroundColor#5E6FED选中背景色toggle_textColor#5E5E5E未选中文本颜色toggle_selectedTextColor#FFFFFF选中文本颜色图标相关属性属性默认值描述toggle_iconnull按钮图标toggle_selectedIcontoggle_icon选中时的图标toggle_iconColor#5E5E5E图标颜色toggle_iconGravitytop|start图标位置边框和圆角属性默认值描述toggle_btnCornerRadius21dp按钮圆角半径toggle_circularCornerRadiusfalse是否圆形按钮toggle_borderWidth0dp边框宽度toggle_selectedBorderWidthtoggle_borderWidth选中边框宽度toggle_borderColor#5E5E5E边框颜色toggle_selectedBorderColortoggle_borderColor选中边框颜色 动态创建按钮除了XML布局你还可以完全通过代码创建ThemedToggleButtonGroup// 创建按钮组 val buttonGroup ThemedToggleButtonGroup(context) buttonGroup.justifyContent JustifyContent.CENTER yourRootView.addView(buttonGroup) // 创建并添加按钮 val btn1 ThemedButton(context) btn1.text 按钮1 buttonGroup.addView(btn1, ViewGroup.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT ) ) // 动态选择按钮 buttonGroup.selectButtonWithAnimation(btn1) 选择状态监听监听按钮选择状态变化val themedButtonGroup findViewByIdThemedToggleButtonGroup(R.id.idOfYourThemedButtonGroup) themedButtonGroup.setOnSelectListener { button: ThemedButton - // 处理选中的按钮 when (button.id) { R.id.btn1 - handleButton1Selection() R.id.btn2 - handleButton2Selection() } } // 获取所有未选中的按钮 val unselectedButtons allButtons.filter { !it.isSelected } 实际应用场景ThemedToggleButtonGroup在以下场景中特别有用时间选择器- 选择会议时间、预约时间标签选择器- 文章标签、产品分类设置选项- 应用设置、偏好设置筛选器- 商品筛选、内容过滤多步骤表单- 向导步骤、问卷选项️ 最佳实践建议保持一致性- 在整个应用中使用相同的按钮样式合理间距- 使用toggle_horizontalSpacing确保按钮间距合适动画选择- 根据应用风格选择合适的动画效果颜色搭配- 使用对比色区分选中和未选中状态响应式设计- 利用FlexboxLayout的响应式特性 官方资源路径核心库文件: library/src/main/java/nl/bryanderidder/themedtogglebuttongroup/ThemedToggleButtonGroup.kt按钮组件: library/src/main/java/nl/bryanderidder/themedtogglebuttongroup/ThemedButton.kt示例项目: demo-toggle-cards/ 总结ThemedToggleButtonGroup为Android开发者提供了一个强大而灵活的切换按钮解决方案。通过丰富的API和高度可定制的样式你可以轻松创建出符合设计需求的专业级切换按钮界面。无论是简单的单选按钮还是复杂的多选标签系统这个库都能满足你的需求。记住良好的用户体验从细节开始ThemedToggleButtonGroup正是那个能帮你完善细节的强大工具。开始使用它让你的Android应用界面更加出色吧【免费下载链接】themed-toggle-button-groupCustomisable toggle buttons inside a FlexboxLayout.项目地址: https://gitcode.com/gh_mirrors/th/themed-toggle-button-group创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考