自定义组件<一>
来源:互联网 发布:淘宝售假申诉 编辑:程序博客网 时间:2024/06/05 09:27
在Android的开发过程中,一路走来发现,自定义组件是比较困难的。想把自定义控件写好,不下一 番功夫不投入一些精力是写不好控件的。
Touchevent 中,返回值是 true ,则说明消耗掉了这个事件,返回值是 false ,则没有消耗掉,会继续传递下去,这个是最基本的。
在 View 中跟 Touch 相关的事件有 dispatchTouchEvent , interceptTouchEvnet , onTouchEvent 三种。 dispatchTouchEvent 是负责分发事件的,事件从 activity 传递出来之后,最先到达的就是最顶层 view 的 dispatchTouchEvent ,然后它进行分发,如果返回 false ,则交给这个 view 的 interceptTouchEvent 方法来决定是否要拦截这个事件,如果 interceptTouchEvent 返回 true ,也就是拦截掉了,则交给它的 onTouchEvent 来处理,如果 interceptTouchEvent 返回 false ,那么就传递给子 view ,由子 view 的 dispatchTouchEvent 再来开始这个事件的分发。
如果事件传递到某一层的子 view 的 onTouchEvent 上了,这个方法返回了 false ,那么这个事件会从这个 view 往上传递,都是 onTouchEvent 来接收。而如果传递到最上面的 onTouchEvent 也返回 false 的话,这个事件就会“消失”,而且接收不到下一次事件。(我说的一次事件指的是 down 到 up 之间的一系列事件)
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@id/titlebar_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/titlebar_bg" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:orientation="horizontal"
android:gravity="center">
<ImageView
android:id="@id/titlebar_return_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/te_title_return"
android:visibility="invisible"
android:paddingLeft="5dp"
android:paddingRight="5dp" />
<TextView
android:id="@id/titlebar_title_tv"
style="@style/TextView.Shadowed.Inverse"
android:textAppearance="?android:textAppearanceLargeInverse"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:visibility="visible"
android:textColor="@android:color/white"
android:textSize="22sp"/>
<ImageView
android:id="@id/titlebar_title_iv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/te_home_titlebar_title"
android:visibility="gone" />
<ImageView
android:id="@id/titlebar_setting_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:src="@drawable/te_setting_icon"
android:visibility="invisible"/>
</LinearLayout>
<ImageView
android:id="@id/titlebar_downline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/te_titlebar_downline"/>
</LinearLayout>
- 自定义组件<一>
- 自定义组件一
- 自定义组件(一)
- VCL:自定义组件(一)
- Android自定义组件(一)
- android之自定义组件一
- 自定义使用Adapter的组件(一)
- Android自定义组件(一)(二)
- 常用的自定义UI组件- 一:TimeView
- (一)NotBoringActionBar之自定义组件ParallaxImageView
- android中自定义组合组件(一)
- CircularImageView 一 自定义圆形图片组件。
- Vue <一> 自定义组件 ,外部传入值
- Android自定义导览地图组件(一)
- 自定义UI组件 心得分享 (一) (List组件)
- 自定义组件
- 自定义组件
- 自定义组件
- ClientTransportException: HTTP transport error
- 堆排序 java版本
- comparable和comparator的区别
- [数学][第二阶段-简单数学题][HDOJ-2071]Max Num
- Pat(Advanced Level)Practice--1089(Insert or Merge )
- 自定义组件<一>
- 静态检查工具检查出 NULL == szTest 问题---估计该程序员是被空指针吓怕了
- OpenGL 学习笔记 -- Mac 上环境搭建
- 如何写好一篇项目需求说明书
- [数学][第二阶段-简单数学题][HDOJ-2075]A|B?
- Halcon PDF文档(hdevelop_users_guide)学习总结之六——Halcon如何导出C++代码
- Pat(Advanced Level)Practice--1090(Highest Price in Supply Chain)
- 系统7×24实现机制汇总
- 基于Spring的可复用的Junit测试类的设计