`
cavalry800528
  • 浏览: 51953 次
文章分类
社区版块
存档分类
最新评论

View类和自定义控件与实例

 
阅读更多

View是所有UI的超类,如果系统自带的布局控件不能满足我们的需求,那么我们可以继承View类来写自己的UI

继承View类后还需要重写OnDraw方法,下面通过一个实例来了解:

步骤:

  1. 新建一个Activity
  2. 继承View类
  3. 实现onDraw方法
  4. 在onDraw方法中设置画笔和画布控件、
  5. 在xml文件中加入创建的视图

 

图像:

 

XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <com.example.itab.tab
      android:layout_width="fill_parent"
      android:layout_height="49dp"
      android:layout_alignParentBottom="true"
      />
</RelativeLayout>

 

Java文件:

package com.example.itab;
public class tab extends View {
    private Paint mp;            //声明一个画笔控件

    public tab(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        mp = new Paint();               // 新建画笔
        mp.setStyle(Paint.Style.FILL);       // 设置画笔为实心
        Rect r = new Rect();             // 新建一个矩形框
        this.getDrawingRect(r);           // 填充矩形的各个位置属性
        canvas.drawColor(0XFF000000);       // 设置画布颜色
        mp.setColor(0X00FF00);           // 设置画笔颜色
        /* 绘制一条直线,参数依次为:开始的横坐标,开始的纵坐标,结束的横坐标,结束的纵坐标,坐标由矩形来决定,用mp画笔来绘制 */
        canvas.drawLine(r.left, r.centerY(), r.right, r.centerY(), mp);
        super.onDraw(canvas);
    }
}
0
5
分享到:
评论

相关推荐

    Android实例源码-自定义控件类安卓源代码(20例).zip

    Android实例源码-自定义控件类安卓源代码(20例) androd自定义有进度的圆形进度条.zip Android 4.0风格中文滚动输入.zip Android Form EditText 验证输入合法性的编辑框.zip Android 自定义头部控件,简单易用.rar ...

    实例讲解Android自定义控件

    可以看到QQ上的ToolBar其实就是一个自定义的view,可以看到不同的界面就是简单地修改了文字而已,在第二张与第三张尤其的明显,我们就仿QQ的这个Toolbar设置一个自定义控件 在开始之前,首先了解一下官方是如何实现...

    Android自定义控件eBook实现翻书效果实例详解

    本文实例讲述了Android自定义控件eBook实现翻书效果的方法。分享给大家供大家参考,具体如下: 效果图: Book.java文件: package com.book; import android.app.Activity; import android.os.Bundle; import ...

    Android自定义view组合控件、重写控件的例子源码.rar

    Android自定义view组合控件、重写控件的例子源码,创建出对应的组合布局视图,将创建出的视图添加到根节点。Android使用view控件的例子,面向Android开发新手,高手绕行。

    实例讲解Android中的View类以及自定义View控件的方法

    主要介绍了Android中的View类以及自定义View控件的方法,讲解了如何继承View类并且展示了一个对View进行重绘的例子,需要的朋友可以参考下

    Android 自定义控件详解及实例代码

    开发自定义控件的步骤: 1、了解View的工作原理 2、 编写继承自View的子类 3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数  一、View结构原理 Android系统的视图结构的设计也...

    Android实现万能自定义阴影控件实例代码

    目录介绍 01.阴影效果有哪些实现方式 02.... 03.... 04.... 第四种:自定义View 否定上面前两种方案原因分析? 第一个方案的CardView渐变色和阴影效果很难控制,只能支持线性或者环装形式渐变,这种不

    Android开发进阶自定义控件之滑动开关实现方法【附demo源码下载】

    3、继承View,这类自定义控件没有跟原生的控件有太多的相似的地方,也不需要在自己的肚子里添加其他的子控件。 ToggleView自定义开关控件表征上没有跟Android原生的控件有什么相似的地方,而且在滑动的效果上也没有...

    自定义控件-类表盘体重选择器的实现

    代码为博客实例代码:有问题博客留言:http://blog.csdn.net/u013637305/article/details/50774062

    AndroidAnimationView:android动画,自定义控件,学习记录演示

    动画(animation,animator)###自定义控件(Ondraw,OnMesure,Onlayout)-以及实战(最后策划)[Ps莫在意向代码习惯是否好坏,因为时间有限,主要是分享...自定义控件,学习记录演示这里涵盖了笔记,实例跟着启舰学习

    Android自定义view实现输入控件

    本文实例为大家分享了Android自定义view实现输入控件的具体代码,供大家参考,具体内容如下 网络上大部分的输入控件都是多个EditText组合而成,本例中采用的是: 单个EditText作为输入的捕捉控件 多个ImageView的...

    android开发入门与实战(下)

    7.5 Android应用的灵魂——Intent和Activity介绍与实例 7.5.1 实例操作演示 7.5.2 实例编程实现 7.6 用好列表,做好程序——列表(ListView)介绍与实例 7.6.1 实例程序演示 7.6.2 实例编程实现 7.7 友好地互动交流...

    Android开发自定义控件之折线图实现方法详解

    本文实例讲述了Android开发自定义控件之折线图实现方法。分享给大家供大家参考,具体如下: 前言 折线图是Android开发中经常会碰到的效果,但由于涉及自定义View的知识,对许多刚入门的小白来说会觉得很高深。其实...

    android自定义开关控件-SlideSwitch的实例

    iphone上有开关控件,很漂亮,...继承自view类,override其onDraw函数,把两个背景图(一个灰的一个红的)和一个开关图(圆开关)通过canvas画出来;同时override其onTouchEvent函数,实现滑动效果;最后开启一个线程

    Android编程基于自定义控件实现时钟功能的方法

    本文实例讲述了Android编程基于自定义控件实现时钟功能的方法。分享给大家供大家参考,具体如下: 在学习安卓群英传自定义控件章节的时候,有一个例子是绘制时钟,在实现了书上的例子后就想看这个时钟能不能动起来。...

    vc实例精通源码,windows基本控件的使用Demo

    02_CheckBoxDemo 演示复选框和单选按钮控件的使用方法。 03_ComboBoxDemo 演示组合框和列表框控件的使用方法。 04_ScrollBarDemo 演示滚动条控件的使用方法。 05_SpinDemo 演示数值调节按钮的使用方法。 06...

    Android 自定义 View 中使用 Spannable的实例详解

    我们都知道 Android 中使用 Spannable 可以实现 TextView 富文本的显示,但是在自定义控件中如何使用 Spannable 绘制不同样式的文字呢? 例如这种效果,标题中的 分数字61 是粗体,分 是常规字体,并且相对于 61 更...

    Android中自定义一个View的方法详解

    本文实例讲述了Android中自定义一个View的方法。分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到一些坑,我把自己遇到的...

    标准MFC WinSock ActiveX控件开发实例

    重载控件消息处理函数WindowProc(),在View-&gt;ClassWizard中打开类向导,在消息映射中找到WindowProc,如下图: 图五 重载WindowProc() 四、编写代码 编写VariantToLong()转换函数,该函数代码如下: //类型转换,将...

Global site tag (gtag.js) - Google Analytics