成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android如何實現圖片添加陰影效果

這篇文章主要為大家展示了Android如何實現圖片添加陰影效果,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

成都創(chuàng)新互聯公司網站建設由有經驗的網站設計師、開發(fā)人員和項目經理組成的專業(yè)建站團隊,負責網站視覺設計、用戶體驗優(yōu)化、交互設計和前端開發(fā)等方面的工作,以確保網站外觀精美、成都做網站、成都網站設計、成都外貿網站建設易于使用并且具有良好的響應性。

給圖片添加陰影效果,這是很常見的需求。第一種方法是自定義drawable,使用layer-list定義兩個圖片,代碼如下:

show_view.xml:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- 陰影圖片,android:left表示陰影圖片左邊到背景圖片左邊的距離
 android:top表示陰影圖片上邊到背景圖片上邊的距離-->
 <item android:left="5dp"
  android:top="5dp">
  <shape>
   <corners android:radius="25dp"/>
   <solid android:color="#60000000"/>
  </shape>
 </item>
 <!-- 背景圖片,android:right表示陰影圖片右邊到背景圖片右邊的距離
 android:bottom表示陰影圖片下邊到背景圖片下邊的距離-->
 <item android:bottom="5dp"
  android:right="5dp">
  <shape>
   <corners android:radius="25dp"/>
   <solid android:color="#000000"/>
  </shape>
 </item>
</layer-list>

在main.xml中定義一個textview作為待顯示控件,將show_view.xml設為這個testview的背景,main.xml的代碼如下:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.example.liusiyutaloner.frescotest.MainActivity">

 <TextView
  android:layout_width="100dp"
  android:layout_height="100dp"
  android:background="@drawable/shadow_view"/>
</RelativeLayout>

運行程序顯示效果如下:

Android如何實現圖片添加陰影效果

看著還可以,但是這里面有一個缺陷,大家細看就會發(fā)現這個陰影是實邊的,沒有虛化的效果,這樣就不夠真實,影響用戶體驗。下面我們來看第二種方法。

第二種方式就是自定義view,代碼里通過setShadowLayer繪制圖片陰影,代碼如下:

CustomShadowView類:

package com.example.liusiyutaloner.frescotest;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;

public class CustomShadowView extends View {
  private Paint mPaint;

  public CustomShadowView(Context context, AttributeSet attrs) {
   super(context, attrs);
   mPaint = new Paint();
   mPaint.setColor(Color.BLACK);
   this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
  }

  @Override
  protected void onDraw(Canvas canvas) {
   super.onDraw(canvas);
   //繪制陰影,param1:模糊半徑;param2:x軸大?。簆aram3:y軸大??;param4:陰影顏色
   mPaint.setShadowLayer(10F, 15F, 15F, Color.GRAY);
   RectF rect = new RectF(0 , 0, 200, 200);
   canvas.drawRoundRect(rect, (float)75, (float)75, mPaint);
  }

}

再將CustomShadowView類加到main.xml中,代碼如下:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="150dp"
 android:layout_height="150dp"
 tools:context="com.example.liusiyutaloner.frescotest.MainActivity">

 <com.example.liusiyutaloner.frescotest.CustomShadowView
  android:layout_gravity="center"
  android:layout_width="125dp"
  android:layout_height="125dp"
  android:layout_centerHorizontal="true" />
</RelativeLayout>

運行即可看到以下效果:

Android如何實現圖片添加陰影效果

可以看到這種方法繪制出的陰影有虛化效果,多了立體感和層次感,所以更推薦使用。

以上就是關于Android如何實現圖片添加陰影效果的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

當前文章:Android如何實現圖片添加陰影效果
標題URL:http://jinyejixie.com/article26/jjpojg.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站設計公司商城網站、企業(yè)網站制作、全網營銷推廣、網站導航、定制網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

微信小程序開發(fā)
盱眙县| 炎陵县| 瓦房店市| 眉山市| 上杭县| 弥勒县| 台中县| 泾川县| 合阳县| 米易县| 宁陵县| 肥乡县| 宜宾市| 孟连| 揭东县| 白山市| 山阳县| 庆安县| 沐川县| 任丘市| 广昌县| 龙州县| 泸西县| 日土县| 南郑县| 二手房| 昌黎县| 新巴尔虎左旗| 灵丘县| 泰宁县| 合肥市| 芦溪县| 清水河县| 井冈山市| 涟源市| 许昌县| 翼城县| 兴义市| 台前县| 特克斯县| 疏附县|