• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android笔记——Android自定义控件,android自定义控件

Android笔记——Android自定义控件,android自定义控件

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android 自定义控件,android中自定义控件,android自绘控件,android 自定控件,android倒计时控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android笔记——Android自定义控件,android自定义控件


目录:

 

1.自定义控件概述

01_什么是自定义控件

  Android系统中,继承Android系统自带的View或者ViewGroup控件或者系统自带的控件,并在这基础上增加或者重新组合成我们想要的效果。

02_为什么用自定义控件

  系统控件无法满足需求时,需要自定义控件。

03_怎么用自定义控件-三种方式

1.使用系统控件,重新组合,实现自定义的效果,案例有:
       优酷环形菜单、广告条循环滚动(Viewpager)、下拉菜单(spinner)、下拉框(PopupWindow、ListView)

2.自己定义一个类继承View ,实现特定的效果,案例有:
       自定义开关按钮、水波纹效果

3.自己定义一个类继承ViewGroup,实现特定的效果,案例有:
       仿ViewPager的效果实现 、 仿网易侧滑菜单

4.自定义属性:给自己的控件,添加自己的属性,通过demo了解系统解析属性的过程,
并给上一个例子开关按钮,添加新属性。

04_Android常用控件回顾

    Android本身提供了很多控件,如:
    文本控件    TextView和EditText;
    图片控件    ImageView
    按钮控件    Button和ImageButton
    进度条       ProgressBar
    单选按钮    RadioButton和RadioGroup
    复选按钮    CheckBox
    状态开关按钮ToggleButton
    时钟控件    AnalogClock和DigitalClock
    日期与时间选择控件DatePicker和TimePicker等。
          . . .

  使用原则:尽量使用系统的控件,在系统控件没法达到我们的需求的时候才需要自定义控件。再定义控件会带来工作量,例如修改bug.


  文本控件TextView 和EditText
    TextView 控件继承自 View 类。TextView控件的功能是向用户显示文本内容,TextView不允许编辑。
    EditText控件继承自 TextView。EditText与TextView 最大的不同是 EditText是可以编辑的 


  图片控件ImageView
    ImageView 控件负责显示图片,其图片来源既可以是资源文件的id,也可以是Drawable对象或 Bitmap 对象,还可以是 内容提供者(Content Provider)的Uri.

  


  按钮控件Button 和 ImageButton
      Button控件继承自 TextView 类,Button 的用法比较简单,主要是为 Button 设置一个点击事件监听器,并在编写按钮点击事件的处理代码。
    ImageButton 控件 继承自 ImageView。
    ImageButton与Button相同之处:都用于响应按钮的点击事件
    不同之处:ImageButton只能显示图片;Button用于显示文字  
    

  进度条ProgressBar
    ProgressBar继承自 View,用于显示正在运行的状态。有两种显示形式:一种是环形显示只用于显示状态,没有具体的进度。第二种是水平显示,可以显示具体  的进度。
    通过设置不同的Style显示不同的样式:
  style="?android:attr/progressBarStyleLarge"        环形样式
  style="?android:attr/progressBarStyleHorizontal"    水平样式

  


  单选按钮 RadioButton 和复选按钮 CheckBox
    CheckBox 和RadioButton 都继承自CompoundButton,都只有选中和未选中两种状态,可以通过checked属性来设置。
    不同的是RadioButton 是单选按钮,在一个RadioGroup中只能有一个RadioButton按钮处于选中状态;CheckBox 则可以有多个按钮被选中。  

    


  状态开关按钮ToggleButton
    ToggleButton 控件是继承自 CompoundButton。ToggleButton 的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。除了继承自父类的一  些属性和方法之外,ToggleButton 也具有一些自己的属性。

                           


  时钟控件AnalogClock 和 DigitalClock
    AnalogClock继承自 View,用于显示模拟时钟只显示时针和分针。
    DigeitalClock 继承自 TextView。用于显示数字时钟可精确到秒。 时钟控件比较简单,只需要在布局文件中声明控件即可。

                          



  日期选择器 DatePicker 和时间选择器 TimePicker

    DatePicker 继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年、月、日的日期数据,并允许用户对其修改。如果要捕获这个修改,可以  为  DatePicker添加 onDateChangedListener 监听器。
    TimePicker 同样继承自FrameLayout 类。时间选择控件向用户显示一天中的时间,可以为24小时制,可以为AM/PM 制,并允许用户进行修改。如果要捕获用  户的修改事件,需要为TimePicker 添加OnTimeChangedListener 监听器

                             
  知识链接:
    android WheelView组件(滑轮组件)的使用 : http://www.myexception.cn/android/1236819.html

    


  系统提供的控件虽然很丰富,但是,还远远不够。有的时候我们必须要自己定义控件来满足我们的要求。下面的案例,详细分析自定义控件的使用:

2.优酷效果

  
  运行演示做好的优酷菜单效果,并且讲解实现思路;因为现在优酷已经更换界面,引用此界面主要为讲解自定义控件实现的思想。  

  01_优酷布局


    1_创建工程YukuMenuDemo,图片全部拷贝到drawable-hdpi目录下

    2_实现三个圆环-最里面的圆环   

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:id="@+id/level1"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:background="@drawable/level1"
        android:layout_width="100dip"
        android:layout_height="50dip" >
    </RelativeLayout>

</RelativeLayout>    

    3_实现三个圆环-中间园环     

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"<



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 自定义控件详解(四):Paint 画笔路径效果,paint画笔
  • 自定义控件详解(五):onMeasure()、onLayout(),onmeasureonlayout
  • 自定义控件详解(二):Path类 相关用法,详解path
  • 自定义控件详解(一):Paint类与Canvas类,paintcanvas
  • Android中的自定义控件(二),android自定义控件
  • 自定义控件(一),自定义控件(
  • 自定义数字加减控件,自定义数字控件
  • 自定义控件——开关按钮ToggleButton,控件togglebutton
  • Android 自定义分层级筛选控件
  • Android自定义控件系列案例【四】

相关文章

  • 2017-05-26ListView添加头布局和脚布局,listview添加布局
  • 2017-05-26android配置android studio not found target android-*.的问题,androidandroid-
  • 2017-05-26说明一下JNI 与AIDL,说明JNIAIDL
  • 2017-05-26仿QQ空间根据位置弹出PopupWindow显示更多操作效果,popupwindow
  • 2017-05-26静态变量的陷阱,静态变量陷阱
  • 2017-05-26硅谷新闻8--TabLayout替换ViewPagerIndicator,tablayoutindicator
  • 2017-05-26Android 知识Tips,android知识tips
  • 2017-05-26andriod 获取电池的信息,andriod获取电池
  • 2017-05-26Android SharedPreferences存储,sharedpreferences
  • 2017-05-26React Native控件之PullToRefreshViewAndroid下拉刷新组件讲解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android学习过程中的一些基础笔记,android笔记
    • Android学习--RelativeLayout相对布局
    • Android开发学习——android反编译,开发android反编译
    • android-webview的使用小结,android-webview
    • android开发时间和日期的代码实现工具类(一),android工具类
    • [android] 手机卫士手势滑动切换屏幕,android手势
    • Android设置透明状态栏和透明导航栏,android导航栏
    • traceroute和tracert的区别
    • npm源切换,npm源
    • 对View的onMeasure()方法的进一步研究,viewonmeasure

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有