android设置页面内的控价不可点击,自定义控价的认识

自定义控件

Android自身带的控件不能满足需求, 需要根据自己的需求定义控件.

自定义控件可以分为三大类型

1. 组合已有的控件实现

- 优酷菜单

1. 在xml布局里摆放好

2. 给指定控件添加点击事件.

3. 根据业务逻辑,执行动画(旋转动画: 补间动画).

4. 菜单按钮的截获.

轮播图广告

1. 让图片滑动起来(ViewPager)

2. 让图片和文字,指示器对应起来

3. 让轮播器无限循环

4. 轮播器自动轮询

下拉选择框

1. ListView初始化

2. PopupWindow初始化

2. 完全自定义控件.(继承View, ViewGroup)

1. 自定义开关  (View)

1. 写个类继承View

2. 拷贝包含包名的全路径到xml中

3. 界面中找到该控件, 设置初始信息

4. 根据需求绘制界面内容

5. 响应用户的触摸事件

6. 创建一个状态更新监听

7. 自定义属性

2. 侧滑面板(ViewGroup)

1. 在xml布局里摆放内容. include

2. 在自定义ViewGroup里, 进行measure测量, layout布局

3. 响应用户的触摸事件

4. int scrollX = (int) (downX - moveX);

5. getScrollX()获取当前滚动到的位置

6. 平滑动画

1. 开始模拟数据

scroller.startScroll(startX, 0, dx, 0, duration);

invalidate();// 重绘界面 -> drawChild() -> computeScroll();

2. 在computeScroll中不断获取模拟的数值

@Override

public void computeScroll() {

super.computeScroll();

if(scroller.computeScrollOffset()){

true, 动画还没有结束

获取当前模拟的数据, 也就是要滚动到的位置

int currX = scroller.getCurrX();

scrollTo(currX, 0); // 滚过去

invalidate(); // 重绘界面

}

}

3. 继承已有的控件实现(扩展已有的功能)

1. 包含下拉刷新功能的ListView

1. 添加了自定义的头布局

2. 默认让头布局隐藏setPadding.设置 -自身的高度

3. ListView下拉的时候, 修改paddingTop, 让头布局显示出来

4. 触摸动态修改头布局, 根据paddingTop.

paddingTop = 0 完全显示

paddingTop < 不完全显示 -64(自身高度)完全隐藏

paddingTop > 0 顶部空白

5. 松手之后根据当前的paddingTop决定是否执行刷新

paddingTop < 0 不完全显示, 恢复

paddingTop >= 0 完全显示, 执行正在刷新...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值