安卓自定义view(继承现有的view)

     之前给大家分享了自定义view之组合控件,今天呢,给大家分享一个继续现有的控件,其实继承现有的控件我们平时遇到的还是比较多的,如Edittext 、button都是继承自TextView的,有时候我们写个展示圆形图片的控件也会选择继承现有的Imageview,原本是想写一个圆形控件的,但发现类似这种的博客很多,所有呢,今天仅仅是给大家讲讲继承现有控件的自定义  view的原理,今天我就以Chronometer为基础,给大家讲讲。

    继承现有的控件,实际上是现有控件无法满足你日常开发的需要,所有呢需要在父类控件的基础上对其进行扩展,我今天所将的这个控件和上面说的Edittext、button等一样,都是继承自TextView的,但是呢,这个控件是用来计时的,这个功能呢,就是在TextView的基础上添加的,它继承了textview父类的一切属性,而且用法也特别简单,下面给大家展示一下

<Chronometer
    android:id="@+id/mChronomer_id"
    android:layout_width="0dp"
    android:layout_height="50dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:gravity="center"
    />

布局文件直接添加,使用起来也特简单,我这里写了一个特简单的就是点击button开始和停止计时

mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        if (!isstarting){
            isstarting=true;
            mButton.setText("暂停");
            chronometer.setBase(SystemClock.elapsedRealtime());
            chronometer.start();
        }else {
            isstarting=false;
            mButton.setText("开始");
            chronometer.stop();


        }


    }
});

    像上述的setBase、start、stop等方法,都是在TextView进行扩展的,而textView是没有这些方法的,继承现有的控件就是这么简单,在现有的控件不能满足你日常开发的时候,直接用它进行扩展,并且也继承了父类的所有属性,日常开发中应用还是很广泛的。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭