国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Android】自定義View onDraw()方法會(huì)調(diào)用兩次

這篇具有很好參考價(jià)值的文章主要介紹了【Android】自定義View onDraw()方法會(huì)調(diào)用兩次。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

問(wèn)題

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

     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è)置顏色就會(huì)起效
        paint.setStrokeWidth(100);
        canvas.drawLine(100, 0,100,100,paint);
        paint.reset();
        Log.v("RoundSeekbarView", "onDraw end");
    }

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

分析

【Android】自定義View onDraw()方法會(huì)調(diào)用兩次,android,前端

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

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

目前不知道為什么onDraw()為什么會(huì)執(zhí)行兩次,有沒(méi)有大佬可以賜教。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-805142.html

到了這里,關(guān)于【Android】自定義View onDraw()方法會(huì)調(diào)用兩次的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • android開(kāi)發(fā)之Android 自定義滑動(dòng)解鎖View

    android開(kāi)發(fā)之Android 自定義滑動(dòng)解鎖View

    自定義滑動(dòng)解鎖View 需求如下: 近期需要做一個(gè)類(lèi)似屏幕滑動(dòng)解鎖的功能,右劃開(kāi)始,左劃暫停。 需求效果圖如下 實(shí)現(xiàn)效果展示 自定義view如下 /** Desc 自定義滑動(dòng)解鎖View Author ZY Mail sunnyfor98@gmail.com Date 2021/5/17 11:52 */ @SuppressLint(“ClickableViewAccessibility”) class SlideSwitchButton :

    2024年02月13日
    瀏覽(21)
  • Android 自定義View 之 圓環(huán)進(jìn)度條

    Android 自定義View 之 圓環(huán)進(jìn)度條

    ??很多時(shí)候我們會(huì)使用進(jìn)度條,而Android默認(rèn)的進(jìn)度條是長(zhǎng)條的,從左至右。而在日常開(kāi)發(fā)中,有時(shí)候UI為了讓頁(yè)面更美觀,就需要用到圓環(huán)進(jìn)度條,那么本文就是通過(guò)自定義寫(xiě)一個(gè)圓環(huán)進(jìn)度條,首先看一下效果圖: ??關(guān)于自定義View的基礎(chǔ)知識(shí)就不再做過(guò)多的講解了,我

    2024年02月10日
    瀏覽(18)
  • Android:繪制自定義View人臉識(shí)別框

    Android:繪制自定義View人臉識(shí)別框

    項(xiàng)目開(kāi)發(fā)需要自定義View實(shí)現(xiàn)一個(gè)人臉框,代碼實(shí)現(xiàn)很平常,一些細(xì)節(jié)記錄一下,方便以后查閱。 代碼實(shí)現(xiàn): FaceView.java 注意: 這里我把FaceView的layout_width、layout_height都設(shè)置成了\\\"match_parent\\\" 這里面有個(gè) 坑 容易踩到 本次開(kāi)發(fā)時(shí),xml中FaceView控件往上一直到第一層父布局寬、高

    2024年02月09日
    瀏覽(21)
  • Android 自定義View 之 Dialog彈窗

    Android 自定義View 之 Dialog彈窗

    ??在日常開(kāi)發(fā)中用到彈窗是比較多的,常用于提示作用,比如錯(cuò)誤操作提示,余額不足提示,退出登錄提示等,還有用于數(shù)據(jù)展示的彈窗,上拉彈窗等等,主要為了簡(jiǎn)化在日常開(kāi)發(fā)中的使用。 ??Android中的Dialog彈窗是一種用于展示特定信息或者在用戶需要進(jìn)行某些操作時(shí)

    2024年02月16日
    瀏覽(23)
  • Android 自定義View之圓形進(jìn)度條

    Android 自定義View之圓形進(jìn)度條

    很多場(chǎng)景下都用到這種進(jìn)度條,有的還帶動(dòng)畫(huà)效果, 今天我也來(lái)寫(xiě)一個(gè)。 寫(xiě)之前先拆解下它的組成: 底層圓形 上層弧形 中間文字 那我們要做的就是: 繪制底層圓形; 在同位置繪制上層弧形,但顏色不同; 在中心點(diǎn)繪制文本,顯示進(jìn)度。 按照這個(gè)目標(biāo),學(xué)習(xí)下自定義Vi

    2024年02月09日
    瀏覽(23)
  • Android自定義View之游戲搖桿鍵盤(pán)實(shí)現(xiàn)(一),快手android面試經(jīng)驗(yàn)

    Android自定義View之游戲搖桿鍵盤(pán)實(shí)現(xiàn)(一),快手android面試經(jīng)驗(yàn)

    public class RemoteViewBg { private Bitmap bitmapBg; public RemoteViewBg(Bitmap bitmap) { bitmapBg = bitmap; } //背景的繪圖函數(shù) public void draw(Canvas canvas, Paint paint, Rect src0 ,Rect dst0 ) { canvas.drawBitmap(bitmapBg, src0, dst0, paint); } } 重寫(xiě)系統(tǒng)的觸摸時(shí)間,判斷觸摸點(diǎn)在背景范圍內(nèi)還是背景范圍外 @Override public b

    2024年04月12日
    瀏覽(17)
  • [Android]自定義RecyclerView中View的動(dòng)畫(huà)

    官方有一個(gè)默認(rèn)Item動(dòng)畫(huà)類(lèi)DafaultItemAnimator,其中 DefaultItemAnimator 繼承了SimpleItemAnimator 繼承了 RecyclerView.ItemAnimator SimpleItemAnimator 它是一個(gè)包裝類(lèi),用來(lái)判斷當(dāng)前的ViewHolder到底是執(zhí)行移動(dòng)、移除、添加或者改變等行為。 DefaultItemAnimator 是執(zhí)行具體動(dòng)畫(huà)類(lèi),它負(fù)責(zé)將viewHolder初始化

    2024年02月11日
    瀏覽(18)
  • Android自定義View之游戲搖桿鍵盤(pán)實(shí)現(xiàn)(一)

    Android自定義View之游戲搖桿鍵盤(pán)實(shí)現(xiàn)(一)

    public class RemoteViewBg { private Bitmap bitmapBg; public RemoteViewBg(Bitmap bitmap) { bitmapBg = bitmap; } //背景的繪圖函數(shù) public void draw(Canvas canvas, Paint paint, Rect src0 ,Rect dst0 ) { canvas.drawBitmap(bitmapBg, src0, dst0, paint); } } 重寫(xiě)系統(tǒng)的觸摸時(shí)間,判斷觸摸點(diǎn)在背景范圍內(nèi)還是背景范圍外 @Override public b

    2024年04月17日
    瀏覽(22)
  • Android 自定義View實(shí)戰(zhàn)—制作一個(gè)簡(jiǎn)易輸入框

    Android 自定義View實(shí)戰(zhàn)—制作一個(gè)簡(jiǎn)易輸入框

    這次我們來(lái)做一個(gè)簡(jiǎn)易輸入框,可以用于密碼輸入和驗(yàn)證碼輸入。 依然在EasyView中進(jìn)行創(chuàng)建,在 com.easy.view 下新建一個(gè) EasyEditText ,繼承自 View ,實(shí)現(xiàn)里面的構(gòu)造方法。 ① 構(gòu)造方法 然后我們繼承自 View ,重寫(xiě)里面的構(gòu)造方法,代碼如下: 下面就可以增加樣式了。 ② XML樣式

    2024年02月10日
    瀏覽(23)
  • Android音視頻剪輯器自定義View實(shí)戰(zhàn)!

    Android音視頻剪輯器自定義View實(shí)戰(zhàn)!

    Android音視頻剪輯器自定義View實(shí)戰(zhàn)! - 掘金 ? Android音視頻剪輯器自定義View實(shí)戰(zhàn)! - 掘金 話不多說(shuō),先上一個(gè)代碼完成效果。 動(dòng)圖好像錄成橫屏的了,也沒(méi)找到調(diào)整反轉(zhuǎn) GIF 的位置,下面再補(bǔ)一張?jiān)O(shè)計(jì)稿靜態(tài)圖吧 最近這幾年音視頻應(yīng)用越來(lái)越廣泛,隨之而來(lái)的音視頻相關(guān)的需

    2024年02月12日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包