TouchGFX学习笔记3:标签按钮、图标按钮、开关按钮和单选按钮

一、按钮介绍

1.1 标签按钮:

        在Button的基础上添加文本显示,可以提示该按钮的功能,例如在按钮上显示开灯/关灯字样。

1.2 图标按钮:

        可以在按钮上贴上图标,使按钮更美观,例如在按钮上贴一个灯泡,提示该按钮用于灯泡开关。

1.3 开关按钮:

        以上的按钮只有在按下时才会被选中,当松开按钮时就会失去按下的功能,有没有一种按钮只需要按一下就能一直打开呢,这就需要用到开关按钮,按一下就可以改变状态,直到下一次按下。

1.4 单选按钮:

        可以在多个选项中选择其中一个按钮,例如选择串口波特率等情况。

二、功能实现

2.1 标签按钮和图标按钮

        在Designer中添加标签按钮和图标按钮,如图中显示的,并添加交互,改变box1颜色,标签按钮将box颜色变为黑色,再使用图标按钮将颜色变回白色。生成代码,编译即可运行查看效果。

2.2 开关按钮

        添加开关按钮,并添加交互,当按钮触发时调用新的回调函数

开关按钮支持选择按钮的初始状态

 在wiew中实现开关功能,控制buttonWithLabel1隐藏/显示

还需要在.hpp中实现声明,运行模拟器就可以看到效果了

 2.3 单选按钮

        创建两个radioButton1和radioButton2,radioButton1默认设置为选中(Selection-Selecte)

 各创建一个交互(当选中时触发)

在wiew中实现功能,当radioButton1选中时显示buttonWithIcon1,当radioButton2选中时隐藏buttonWithIcon1,.hpp的声明不再多说,运行模拟器就可看到效果。

 运行时发现按钮不可以取消选择,在实际项目中,可能会用到什么都不选的情况,我们只需要勾选(Selection-Deselect able)就可以取消选中了。

三、后续更新

        下期继续介绍Button剩下的repeatButton和flexButton。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,关于 Android 开关按钮的背景图和自定义控件,我可以为您提供一些学习笔记和分享。 1. Android 开关按钮背景图 在 Android 中,开关按钮的背景图可以通过 drawable 文件夹下的 xml 文件来实现。以下是一个简单的例子: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/switch_on" android:state_checked="true"/> <item android:drawable="@drawable/switch_off"/> </selector> ``` 其中,我们使用了 selector 标签来表示按钮的状态。在 checked 为 true 时,使用 switch_on 图片作为背景图;否则使用 switch_off 图片作为背景图。 2. Android 自定义控件之开关按钮学习笔记分享 如果您想完全自定义一个开关按钮控件,以下是一些实现步骤: 1) 创建一个继承自 CompoundButton 的类,例如 SwitchButton。 2) 实现 SwitchButton 的构造函数和一些必要的属性。 ```java public class SwitchButton extends CompoundButton { public SwitchButton(Context context) { super(context); init(); } public SwitchButton(Context context, AttributeSet attrs) { super(context, attrs); init(); } public SwitchButton(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { // 初始化一些属性 } } ``` 3) 在 init() 方法中,设置一些默认属性,例如背景图、文字等。 4) 重写 onMeasure() 方法,计算出 SwitchButton 的宽高。 ```java @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int widthSize = MeasureSpec.getSize(widthMeasureSpec); int heightSize = MeasureSpec.getSize(heightMeasureSpec); setMeasuredDimension(widthSize, heightSize); } ``` 5) 重写 onDraw() 方法,绘制 SwitchButton 的背景图和文字。 ```java @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 绘制背景图和文字 } ``` 6) 重写 onTouchEvent() 方法,处理用户的触摸事件,例如改变 SwitchButton 的状态。 ```java @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: // 处理按下事件 break; case MotionEvent.ACTION_MOVE: // 处理移动事件 break; case MotionEvent.ACTION_UP: // 处理抬起事件 break; } return super.onTouchEvent(event); } ``` 7) 最后,将 SwitchButton 添加到布局文件中即可。 ```xml <com.example.myapp.SwitchButton android:id="@+id/switchButton" android:layout_width="wrap_content" android:layout_height="wrap_content"/> ``` 以上就是自定义开关按钮控件的一些步骤和注意事项。希望对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值