最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android自定義View onDraw()方法會調(diào)用兩次的問題解決

 更新時(shí)間:2024年01月22日 11:29:09   作者:新鏡  
這篇文章主要介紹了Android自定義View onDraw()方法會調(diào)用兩次的問題解決,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

問題

自定義了View后,在構(gòu)造函數(shù)中設(shè)置畫筆顏色,發(fā)現(xiàn)它沒起效,但是在onDraw()里設(shè)置顏色就會起效,出問題的代碼如下:

     public RoundSeekbarView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        //布局引用調(diào)用的是兩個(gè)參數(shù)的構(gòu)造函數(shù)
        paint = new Paint(Paint.ANTI_ALIAS_FLAG);    
        paint.setAntiAlias(true);
        paint.setDither(true);
        paint.setColor(Color.RED);
     }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Log.v("RoundSeekbarView", "onDraw");
        //paint.setColor(Color.RED); //在onDraw()里設(shè)置顏色就會起效
        paint.setStrokeWidth(100);
        canvas.drawLine(100, 0,100,100,paint);
        paint.reset();
        Log.v("RoundSeekbarView", "onDraw end");
    }

我在構(gòu)造函數(shù)中設(shè)置的畫筆顏色是紅色,但是實(shí)際畫出的線是黑色的(畫筆默認(rèn)顏色是黑色),分析了一下發(fā)現(xiàn)是paint.reset()的問題,reset就是畫筆重置設(shè)置嘛,如何它就會變成默認(rèn)的黑色,這個(gè)我懂,可是為什么會把線的顏色改了?畫線的代碼明明在reset的前面。

分析

通過打日志分析發(fā)現(xiàn)onDraw()方法被執(zhí)行了兩次,也就是畫筆(紅)畫了一次---->畫筆reset(變回默認(rèn)顏色黑色了)---->又執(zhí)行了onDraw,黑筆畫了一次,覆蓋了原來的紅線。

因此最后看到的顏色會是黑色,所有有關(guān)畫筆的設(shè)置還是寫在onDraw()里好一點(diǎn)。

目前不知道為什么onDraw()為什么會執(zhí)行兩次,有沒有大佬可以賜教。

到此這篇關(guān)于Android自定義View onDraw()方法會調(diào)用兩次的文章就介紹到這了,更多相關(guān)Android自定義View onDraw()方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Flutter實(shí)現(xiàn)按位置大小比例布局的控件

    基于Flutter實(shí)現(xiàn)按位置大小比例布局的控件

    做視頻監(jiān)控項(xiàng)目時(shí)需要需要展示多分屏,比如2x2、3x3、414等等,所以本文為大家介紹了如何基于Flutter實(shí)現(xiàn)按位置大小比例布局的控件,需要的可以參考一下
    2023-08-08
  • Android實(shí)現(xiàn)底部滾輪式選擇彈跳框

    Android實(shí)現(xiàn)底部滾輪式選擇彈跳框

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部滾輪式選擇彈跳框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android組件實(shí)現(xiàn)長按彈出上下文菜單功能的方法

    Android組件實(shí)現(xiàn)長按彈出上下文菜單功能的方法

    這篇文章主要介紹了Android組件實(shí)現(xiàn)長按彈出上下文菜單功能的方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)長按彈出上下文菜單的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Android深入分析屬性動畫源碼

    Android深入分析屬性動畫源碼

    這篇文章主要給大家介紹了關(guān)于Android動畫系列教程之屬性動畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Android異步消息處理機(jī)制實(shí)現(xiàn)原理詳解

    Android異步消息處理機(jī)制實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了Android異步消息處理機(jī)制實(shí)現(xiàn)原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Android?Flutter使用本地?cái)?shù)據(jù)庫編寫備忘錄應(yīng)用

    Android?Flutter使用本地?cái)?shù)據(jù)庫編寫備忘錄應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了Android?Flutter如何使用本地?cái)?shù)據(jù)庫實(shí)現(xiàn)編寫簡單的備忘錄應(yīng)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-03-03
  • android中UI主線程與子線程深入分析

    android中UI主線程與子線程深入分析

    這篇文章主要介紹了android中UI主線程與子線程,以實(shí)例形式較為深入的分析了UI主線程與子線程的運(yùn)行原理與操作技巧,有助于深入了解Android程序設(shè)計(jì),需要的朋友可以參考下
    2015-02-02
  • Android CoordinatorLayout詳解及實(shí)例代碼

    Android CoordinatorLayout詳解及實(shí)例代碼

    這篇文章主要介紹了Android CoordinatorLayout詳解及實(shí)例代碼的相關(guān)資料,CoordinatorLayout基本實(shí)現(xiàn)兩個(gè)功能: 作為頂層布局 和調(diào)度協(xié)調(diào)子布局,這里詳細(xì)介紹此部分知識,需要的朋友可以參考下
    2016-12-12
  • Android高性能日志寫入方案的實(shí)現(xiàn)

    Android高性能日志寫入方案的實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于Android高性能日志寫入方案的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • TabLayout用法詳解及自定義樣式

    TabLayout用法詳解及自定義樣式

    這篇文章主要介紹了TabLayout用法詳解及自定義樣式的相關(guān)資料,需要的朋友可以參考下
    2017-01-01

最新評論

马关县| 金沙县| 磐石市| 夏津县| 高要市| 托克逊县| 广河县| 上杭县| 津南区| 鲁山县| 玉门市| 延吉市| 曲水县| 滕州市| 桂平市| 墨江| 图片| 永靖县| 临夏市| 县级市| 馆陶县| 金秀| 宽甸| 山丹县| 南涧| 马尔康县| 会同县| 凯里市| 桐柏县| 武汉市| 隆尧县| 渝北区| 浮山县| 南阳市| 绥芬河市| 长武县| 渑池县| 丰原市| 庆元县| 修武县| 道孚县|