自定義View實現陰影

2021-09-28 10:42:18 字數 1474 閱讀 7814

其實實現陰影android系統自帶android:elevation實現陰影功能,但是在低版本系統可能就無效了,當然還可以使用shape.xml實現,cardview也可以實行陰影功能,但是尷尬的是不知道怎麼切換陰影的顏色。

上圖中圖一是使用setshadowlayer實現的陰影效果

上圖中圖二是使用 setmaskfilter(new blurmaskfilter(50,blurmaskfilter.blur.solid));

定義幾個屬性

import android.content.context;

import android.content.res.typedarray;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.rect;

import android.os.build;

import android.support.annotation.nullable;

import android.support.annotation.requiresapi;

import android.util.attributeset;

import android.view.view;

import com.jewelermobile.gangfu.zdydemo1.r;

public class shadowlayerview extends view

public shadowlayerview(context context, @nullable attributeset attrs)

public shadowlayerview(context context, @nullable attributeset attrs, int defstyleattr)

public bitmapshaderview(context context, @nullable attributeset attrs)

public bitmapshaderview(context context, @nullable attributeset attrs, int defstyleattr)

@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec) else

}@override

protected void ondraw(canvas canvas)

Android自定義View實現

android自定義view實現很簡單 繼承view或者其子類,重寫建構函式 ondraw,onmeasure 等函式,根據繼承的類的不同可能有所不同。如果自定義的view需要有自定義的屬性,需要在values下建立attrs.xml。在其中定義你的屬性。在使用到自定義view的xml布局檔案中需要...

自定義View的實現

自定義view分為三種型別 0 繼承現有的ui控制項 實現特定功能,例如事件攔截,就像是我的slidingpanelayout和viewpager結合 自定義view 0 繼承現有的控制項 1 將多個控制項進行組合,形成新的自定義view radio動態指示器,radiobutton的自定義?自定義...

Android 自定義view的實現

1 onmeasure中對子view的測量,直接傳入父類的meausrespec super.onmeasure widthmeasurespec,heightmeasurespec 必須呼叫,用於setdimension q1 子view能測量出高度和寬度,還有定位的座標都有值,但是不顯示,嘗試辦...