怎么给一个imageview设置一个shadow 设置一个阴影
闭关修行中......
比較的単純な方法ですが、効果は醜いです。同様に、線を描く代わりに影絵を使用すると、良い結果が得られます。 ImageView をオーバーライドする パブリック クラス HKImageView extends ImageView { public HKImageView(Context context, AttributeSet attrs) { super(context, attrs, 0); } public HKImageView(Context コンテキスト) { スーパー(コンテキスト); } @オーバーライド protected void onDraw(Canvas Canvas) { Log.d("lg", "onDraw"); super.onDraw(キャンバス); // 境界線を描画します Rectrect1 = getRect(canvas); ペイントペイント = new Paint(); ペイント.setColor(Color.GRAY); ペイント.setStyle(ペイント.スタイル.STROKE); // 境界線を描画します Canvas.drawRect(rect1, ペイント); ペイント.setColor(Color.LTGRAY); //右側の影をシミュレートする垂直線を描画します Canvas.drawLine(rect1.right + 1、rect1.top + 2、rect1.right + 1、 ect1.bottom + 2、ペイント); //水平線を引いて下の影をシミュレートします Canvas.drawLine(rect1.left + 2、rect1.bottom + 1、rect1.right + 2、 ect1.bottom + 1、ペイント); //右側の影をシミュレートする垂直線を描画します Canvas.drawLine(rect1.right + 2、rect1.top + 3、rect1.right + 2、 ect1.bottom + 3、ペイント); //水平線を引いて下の影をシミュレートします Canvas.drawLine(rect1.left + 3、rect1.bottom + 2、rect1.right + 3、 ect1.bottom + 2、ペイント); } Rect getRect(キャンバス キャンバス) { Rect 長方形 = Canvas.getClipBounds(); ect.bottom -= getPaddingBottom(); ect.right -= getPaddingRight(); ect.left += getPaddingLeft(); ect.top += getPaddingTop(); 四角形を返します。 } } 使用 効果を得るには画像にパディングを追加する必要があります imageView.setPadding(3, 3, 5, 5);
闭关修行中......