菜鸟的B4A(B4X)开发成长日志第二天

 昨天吧,老大看我C++基础还可,VB的基础已经差不多了,然后就给我布置了个任务,整个skype界面。。。然后!暗无天日的日子就到来了!!!

 

        这是一直没停的搞到现在的样。。。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

 

 

然后这是skype

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

       是不是看着很简陋,但是!我做的这个长得不好看的货已经实现了大部分的这个界面的功能了!!!!其中很重要的一点就是左右滑动并且保证滑动结束后一定在一个整的页面而不是左半边是一个页面的一部分,右半边是另一个页面的一部分。

        整体思路呢,是这样的,弄个水平的滑动界面,horizon,扔三个panel上去,然后滑啊滑,对滑动的位置进行判断,通过计算来得出滑动结束时我应该停靠的位置,虽然这个思路说起来很简单,但是实现起来对于新手来说,还是有点小困难的,但是做出来之后还是很有成就感滴!

    

具体的用一个class来实现:

       首先,在globals里声明一个panel作为大背景;

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       一个横向的滑动界面;

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       然后在初始化程序中声明三个panels;

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       这个panels(num)中的num是从main类中传递过来的一个参数,这里例子中就是3;

 

        然后对背景panel进行初始化,

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       继而把之前声明的水平滑动界面进行初始化并加入到背景panel中,并设置位置与大小;

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       滑动界面的第一个系数是滑动界面内置panel的宽度,就是滑动最多可以滑动到这么多的宽度,第二个是其事件名。

        接下来,把之前的几个panels添加进入横向滚动界面内;

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

         每个panel中都有一个文本框来进行分辨;

         然后,把那个背景添加进入main类传入的容器内就完成了—— 主要页面的布局。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       其中,left=0,top=100dip

       Width=100%x,height=100%y-90dip

       为啥是90呢??

       因为变长点可以隐藏横向滚动界面的滚动轴,暂时这样好看点。。。

 

       然后试试呗,发现这个只能左右滑滑到哪是哪,这样可不行。我们要来点特殊的办法,想到需要对这个横向界面添加touch事件监听。然后呢,知道了是滚动到哪了,不就能做到咱要的效果了!

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

这是添加的

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

        库的内容,设置了一个监听事件,事件名为"scvWheel_Touch",但是呢,只有一个监听是不行的,然后我们就还需要一个timer来进行第四维度的测量。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

        声明的两个变量第一个是事件名,第二个是反应的时间,单位是毫秒,这个影响的内容就是当停止滑动后,他要停多久才能算出来要到哪个具体的

panel,然后就利用这个监听事件与timer的tick时间来搞定这个滑动了!

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       利用timer来进行滑动的速度与界面切换的设定,当手指离开的时候,时间开始,1毫秒之后,tick,

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

       如果直接进行判断我觉得可能会造成线程冲突而导致没有判断,就停在滑到的地方了,所以需要停那么1毫秒来缓冲一下,这样,我们就完成了这个关键的滑动部分,然后在上部增加五个按钮。

  640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

并设置其背景,

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

      3是下面三个的,4是上面俩的,并设置btn0,btn1,btn2为同一事件btn,

tag不同分别为0,1,2,这样,设置click事件;

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

        完成了点击按钮进行切换页面的操作,设置一个铺满整页的panel,设为半透明,上面放置一个占据半面页面的panel,当选项按钮点击时,变为可见的,当点击半透明panel时,设为不可见,完成了选项菜单的基本设置。

 

        右下角一个按钮,将其背景设为

       

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1
 

        并当点击时,出现一个半透明panel,且上面用类似的方法布置几个按钮。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

         当点击半透明界面时,将界面设为不可见,这样,就完成了这些基本的设置,具体的细节之后继续!

(本文为连刊,预知菜鸟的逆袭,请继续关注,直接扫描以下二维码并关注,便可查阅菜鸟逆袭全刊!加入我们,你也可以逆袭!!快来吧!!!)

 

由于上传附件及文字限制,有时部分图片、文字可能显示不了,详情请见:http://mp.weixin.qq.com/s?__biz=MzI5ODI3NzY2MA==&mid=100000058&idx=1&sn=d897ee350aad4b1e8a2d28c47950377f#rd
欢迎大家一起交流。
扫描以下二维码,获取更多更精美文章!(扫码关注有意向不到的惊喜的哦!!)

 
关注我们微信订阅号( uniguytech100) 与服务号(uniguytech),获取更多更精美文章!
也欢迎加入【大家技术网讨论QQ群】,群号码:256175955,请备注你个人的介绍!让我们一起聊聊it的那些事!

转载于:https://my.oschina.net/uniguy/blog/680402

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值