仿悟空遥控器控制页面

在使用悟空遥控器的时候,发现在遥控器页面的中心控制器的设计很巧妙。如果使用xml layout布局的话,使用FrameLayout/RelativeLayout来处理5个按键(上下左右以及中间确认键),因为每个按键都是矩形,而且有重叠的部分。因此有交叉覆盖的地方总感觉不对。自定义view(ControlPanel)才能很好的处理这种场景。

总体的原理:自定义view的背景为一个圆角矩形,然后检测onTouch事件,然后再显示对应点的按键图片即可。

 

代码如下:

Xml 布局:

<ControlPanel
   android:id="@+id/navigator"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerInParent="true"
   android:background="@drawable/dpad_5way_normal"
   app:bottomPressed="@drawable/dpad_down"
    app:centerPressed="@drawable/dpad_center"
   app:leftPressed="@drawable/dpad_left"
   app:rightPressed="@drawable/dpad_right"
app:topPressed="@drawable/dpad_up"/>

attrs属性为

<declare-styleablename="ControlPanelDrawable">
        <attrname="topPressed" format="integer"/>
        <attr name="bottomPressed"format="integer"/>
        <attrname="leftPressed" format="integer"/>
        
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值