androidUI那些事(一)

这几天,闲来没事,突然想到android有许久没做了,于是,这几天就看看androidUI的设计细节吧,也算是提高。
—-前记

第一天:底部菜单栏

打开微信、QQ、搜狐、新浪等android的手机app,都会发现一个明显的特征,就是底部菜单的设计,虽然很多人在网上吐槽android直接使用ios的设计理念,但是自己用起来还不错,毕竟使用为主。

底部菜单栏,基本上分为两种,底部菜单栏是否会和上面的内容展示区的滑动而变化,除了微信,其他的app都是静态点击的底部设计,只有微信,在内容区的滑动的时候,底部菜单会有item的颜色移动(标识板块的移动),门户网站由于内容比较多,往往在内容区会设计一个slidingmenu的设计,增大内容区域的使用容量,倒是QQ没有用((⊙o⊙)…,QQ是h5的设计,那就不管了)

看看静止的底部栏的设计吧

底部栏目的设计,总要先保证栏目会在底部吧,参考博客园

然后设计底部元素,分为固定的文件静态设置和动态代码生成,每一个底部元素可以设置成radiobutton(内部具体布局上,使用上面图片,下面文字),在代码层面,通过点击事件的设计,每点击一个按钮,其他按钮暗掉,选中的按钮亮起来,页面内容变化(页面的设计常规使用fragement,那么就变成了fragementmanager管理fragement的问题了),正好可以写成两个函数。

问题:怎么处理亮和不良的问题呢:
       每一个按钮的图片维护两个图标(一个亮色的填充,一个无色或者淡色的填充),使用button的函数((RadioButton).findViewById(rabtid[i])).setCompoundDrawablesWithIntrinsicBounds(0, image1[i],0, 0)进行图片的设置,
问题:对主内容区域的管理
 既然都是对页面fragement进行管理,交给fragement做了
    FragmentTransaction fg = fgManager.beginTransaction();
    fragment.setArguments(bundle);
    fg.add(R.id.fragmentRoot, fragment, tag);
    fg.addToBackStack(tag);  //你是否要在回退的时候显示上一个Fragment
    fg.commit();

好了,一个静止的底部设计完成了。 源代码下载地址

看看动态底部栏的设计

底部栏的设计的时候,不仅仅在底部item点击的时候,上层内容区域要发生变化,在上层内容区域发生变化的时候,底层的栏目也需要发生变化,微信还实现了底部菜单切换的时候的颜色的渐变

界面的设计:上层使用viewpager,实现内容区域的滑动
代码的实现上:重点在于viewpager的页面的变化情况能够及时的传递给底部栏目进行处理,可以使用viewPager.setOnPageChangeListener注册一个监听器,通过实现onPageScrolled 、onPageSelected方法实现对底部item的设计
效果设计:怎们实现滑动的时候item的渐变设计呢?同样维护这两个图标(同上),为了实现渐变,可以使用paint的画笔的setAlpha进行操作,就可以实现渐变的效果了
源代码下载地址

珍重申明:代码不是我的,从github进行copy的,由于当时匆忙,没有留下地址,如果原作者愿意进行联系,我添加你们的地址

代码放在了百度云管家,而不是放在github上,因为是分析吗,所以勿喷啦,不是不专业,而是理念的问题。

部分同学现在还在感叹android sdk 的下载问题,可以参考一下这个解决方案 :androiddevtool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值