亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • ?。。。?
    查看全部
  • ***用于縮放
    查看全部
  • ***這個一般用于繪制進度條,比如說手機上的電量進度條。 ***maxLevel表示顯示等級,默認顯示第一個
    查看全部
  • !?。Ρ惹耙粡?
    查看全部
  • ***在layer-list中可以放一些item ***因為在layer-list中,是從上面的item開始繪制的,所以最後那個item定義的顏色就覆蓋在了最外面那一層
    查看全部
  • !!!
    查看全部
  • ?。。?
    查看全部
  • ?。?!
    查看全部
  • ***可繪制的資源:可能是一個顏色,也可能是一個Bitmap圖片,也可以是一個線條,或者是一個路徑 ***方框中是Drawable一些基本的類
    查看全部
  • ?。?!
    查看全部
  • !!!
    查看全部
  • 漣漪效果的實現方式
    查看全部
  • 3.添加動態更新 (1)如果控件直接設置背景setBackgroundDrawable() 回調事件中調用drawable的touch處理 public void onTouch(MotionEvent event) { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: mCenterX = event.getX(); mCenterY = event.getY(); mRadius = mRadius + 40; invalidateSelf(); break; } } (2)如果不使用設置背景drawable,會比較麻煩 首先看 public void invalidateSelf() { final Callback callback = getCallback(); if (callback != null) { callback.invalidateDrawable(this); } } 這就要設置一個callback:mRippleDrawable.setCallback(this); 然后看 callback.invalidateDrawable(),里面的verifyDrawable()和邊界 重寫下面兩個接口 boolean verifyDrawable(Drawable who) { return who == mDrawable || super.verifyDrawable(who); } void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mDrawable.setBounds(0, 0, getWidth(), getHeight()); } 最后別忘了要設置ontouch監聽
    查看全部
  • 一、在view中實現一個簡單的Drawable 1.先創建一個自定義的drawable,在draw(canvas)中寫一些定制化的東西 (1)在控件中調用setBackgroundDrawable(drawable) (2)在控件中重寫onDraw(canvas),調用drawable的draw() 但注意調用位置,最后調用的draw()會出現在最前面。 以上兩種方式均可 二、完善Drawable的基本參數 1.需要做如下三步: (1)弄清楚Drawable中實現的方法 (2)添加一些漣漪效果所需的元素到Drawable (3)動態更新Drawable 2.弄清楚接口 (1)最重要的一個draw()方法,這個用來繪圖的 可以借助一個畫筆,繪制想要的任何東西 (2)setAlpha()設置透明度 注意因為這里是用了畫筆Paint,所以當透明度變化時要為paint重新設置透明度 if (mAlpha != 255) { int alpha = mPaint.getAlpha(); int realAlpha = (int) (alpha * (mAlpha / 255f)); mPaint.setAlpha(realAlpha); } (3)setColorFilter()濾鏡,主要對圖片而言 (4)getOpacity()得到透明度屬性 這里就是拿到畫筆paint的透明度屬性,PixelFormat.OPAQUE,PixelFormat.TRANSPARENT,PixelFormat.TRANSLUCENT 2.添加漣漪效果 so easy,直接用畫筆畫一個圓就行了 public void draw(Canvas canvas) { canvas.drawCircle(mCenterX, mCenterY, mRadius, mPaint); } 3.添加動態更新 思路是按鈕按下時圓的半徑變大,并且重新繪制圓。 這步操作需要借助drawable的invalidateSelf() (1)如果控件直接設置背景setBackgroundDrawable(),直接設置一個ontouch事件就行了 回調事件中調用drawable的touch處理
    查看全部
  • Drawable介紹 1.A Drawable is a general abstraction for "something that can be drawn." Most often you will deal with Drawable as the type of resource retrieved for drawing things to the screen; the Drawable class provides a generic API for dealing with an underlying visual resource that may take a variety of forms. Unlike a View, a Drawable does not have any facility to receive events or otherwise interact with the user. 最后一句是重點 2.重點 (1)layer-list是從上往下繪制,所以最下面的item會覆蓋前面的 item中可以寫shape等其他的類型 (2)level-list類似于layer-list,也有很多item。level-list可以最多指定10個等級,默認顯示level1,通過代碼設置顯示哪個level 像電量的顯示一樣,level1顯示最高電量,依次遞減,當電量變化時通過代碼顯示不同level
    查看全部

舉報

0/150
提交
取消
課程須知
本課程為漣漪效果基礎篇,針對初次學習漣漪效果的同學;在課程中詳細的講解了相關的知識點。當然基礎并不代表沒有難點,其中顏色疊加的計算以及Drawable與View的交互等相關知識點尤為重要;并要求學習者能深入理解Drawable與View的相關API的作用。
老師告訴你能學到什么?
1.漣漪效果實現的幾種方式 2.View與Drawable相關API知識點 3.在Drawable中如何實現動畫效果 4.顏色疊加的計算方法

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!