 mTextPaint!!)
            canvas.drawText(mBackCount.toString(), mTextPoint!!.x.toFloat(), translate, mTextPaint!!)
        } else if (isInit) {
            //取消点赞，数字动画方向为从下往上
            canvas.drawText(mBackCount.toString(), mTextPoint!!.x.toFloat(), mTextPoint!!.y - translate, mTextPaint!!)
            canvas.drawText(mCount.toString(), mTextPoint!!.x.toFloat(), 2 * mTextPoint!!.y - translate, mTextPaint!!)
        }
        canvas.restore()
    }

    /**
     * 点赞时产生圆圈的波动动画
     *
     * @param canvas canvas
     */
    private fun drawCircle(canvas: Canvas) {
        //点赞时才绘制该动画
        if (isThumb) {
            if (radius!= defaultRadius && radius > defaultRadius / 2) {
                //动画未结束
                canvas.drawCircle(((unThumbBitmap!!.width + mBitmapPadding) / 2).toFloat(), (mHeight / 2).toFloat(), radius, mCirclePaint!!)
            }

        }
    }

    /**
     * 完成大拇指缩放动画,彩虹线的显示隐藏动画
     *
     * @param canvas canvas
     */
    private fun drawThumb(canvas: Canvas) {
        canvas.save()
        canvas.scale(scale, scale, (thumbBitmap!!.width / 2).toFloat(), ((shiningBitmap!!.height / 2 + thumbBitmap!!.height) / 2).toFloat())
        if (isThumb) {
            canvas.drawBitmap(thumbBitmap!!, 0f, (shiningBitmap!!.height / 2).toFloat(), mCirclePaint)
            canvas.drawBitmap(shiningBitmap!!, mBitmapPadding.toFloat(), 0f, mCirclePaint)
        } else {
            canvas.drawBitmap(unThumbBitmap!!, 0f, (shiningBitmap!!.height / 2).toFloat(), mCirclePaint)
        }
        canvas.restore()
    }

    /**
     * 第一次绘制界面(绘制2部分:大拇指、点赞数字)
     *
     * @param canvas canvas
     */
    private fun firstDraw(canvas: Canvas) {
        if (isInit) {
            return
        }
        isInit = true
        //绘制点赞数字
        canvas.drawText(mCount.toString(), mTextPoint!!.x.toFloat(), mTextPoint!!.y.toFloat(), mTextPaint!!)
        //绘制大拇指
        canvas.drawBitmap(unThumbBitmap!!, 0f, (shiningBitmap!!.height / 2).toFloat(), mCirclePaint)
    }

    override fun onClick(v: View) {
        //点击改变拇指点赞状态(throttleFirst:500ms内只处理一次点击事件)
        RxView.clicks(this).throttleFirst(DURATION.toLong(), TimeUnit.MILLISECONDS)
               .observeOn(AndroidSchedulers.mainThread())
               .subscribeOn(AndroidSchedulers.mainThread())
               .subscribe { o ->
                    isThumb =!isThumb
                    animatorSet!!.start()
                }
    }

    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec)
        val widthMode = MeasureSpec.getMode(widthMeasureSpec)
        val heightMode = MeasureSpec.getMode(heightMeasureSpec)
        val width = MeasureSpec.getSize(widthMeasureSpec)
        val height = MeasureSpec.getSize(heightMeasureSpec)
        when (widthMode) {
            MeasureSpec.AT_MOST, MeasureSpec.UNSPECIFIED -> mWidth = contentWidth
            MeasureSpec.EXACTLY -> mWidth = max(width, contentWidth)
            else -> {
            }
        }
        when (heightMode) {
            MeasureSpec.AT_MOST, MeasureSpec.UNSPECIFIED -> mHeight = contentHeight
            MeasureSpec.EXACTLY -> mHeight = max(height, contentHeight)
            else -> {
            }
        }
        setMeasuredDimension(mWidth, mHeight)
    }

    companion object {

        /**
         * 动画时长
         */
        private const val DURATION = 300
    }
}
Allosteric learning approach advocates the acquisition of knowledge through experiences, and this could be appropriate for social studies course since its content is based on daily life. This study was conducted in a middle-school located in a province of Turkey during the fall-semester of the 2021-2022 academic year. The study investigated the impact of allosteric learning on 5th grade learners’ academic achievement and research skills in social studies course. Moreover, the participating learners’ views on the impact of allosteric learning on their academic achievement and research skills were also explored. The mixed embedded design was employed in the study. The participants consisted of 48 students, 23 in the experimental and 25 in the control group. To collect data, Science, Technology and Society Achievement Test, Research Skills Test, and interview form were employed. For analysis, t-test for independent samples, covariance analysis, and content analysis were used. It was found that the social studies course carried out within the scope of the allosteric learning approach increased students’ academic achievement and improved their research skills. In addition, students believed that allosteric learning increased their academic achievement and equipped them with research skills.
Babaoğlu, H. M. (2018). 5. sınıf ingilizce dersinde allosterik öğrenme modelinin öğrencilerin eleştirel düşünme ve problem çözmeye yönelik yansıtıcı düşünme becerilerine etkisi [The effect of allosteric learning model on students' critical skill and reflective thinking skill towards problem solving in english course]. (Master’s dissertation). Siirt University, Institute of Social Studies.
Barr, R. D., Barth, J. L., & Shermis, S. S. (1977). Defining the social studies. National Council for the Social Studies Arlington, VA.
Budak, Y. (2010). (Post yapılandırmacılık) Allosterik öğrenme yaklaşımına göre öğrenme ve eğitim durumlarının olası niteliği [(Post constructivism) The possible nature of learning and educational situations according to the allosteric learning approach]. Published report in International Conference on New Trends in Education and Their Implications.
Büyüköztürk, Ş. (2010). Veri analizi el kitabı [Data analysis handbook]. Pegem Academy Publication.
Creswell, J. W., & Plano-Clark, V. L. (2017). Designing and conducting mixed methods research. Sage publications.
Giordan, A. (2010). Le modèle allostérique et les théories contemporaines sur l'apprentissage [The allosteric model and contemporary theories of learning]. Peter Lang.
Gökçedağ, O. (2017). Allosterik öğrenmeye dayalı fen ve teknoloji dersinin öğrencilerin fen dersine yönelik tutumlarına, güdülerine ve akademik başarılarına etkisi [The effect of allosteric learning-based science and technology course on students' attitudes, motivations and academic achievements towards science course]. (Master's dissertation). Kahraman Maraş Sütçü İmam University, Institute of Social Sciences.
Kanca, H. G. (2020). Mimari tasarım eğitimi sürecinde destekleyici uygulamalar bütünü olarak allosterik öğrenme temelli bir metodoloji [Allosteric learning based methodology as a package of supporting applications in the architectural design education process]. (Doctoral dissertation). Karadeniz Technical University, Institute of Science.
Kilmen, S. (2015). Eğitim araştırmacıları için SPSS uygulamalı istatistik [SPSS applied statistics for education researchers]. Edge Academy.
Koç, S., & Tavukçu, S. D. (2015, October), Allosterik öğrenme modelindeki eğitim durumların