国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android設(shè)置控件陰影的三種方法

2019-10-22 18:24:14
字體:
供稿:網(wǎng)友

本文實例為大家分享了Android設(shè)置控件陰影的方法,供大家參考,具體內(nèi)容如下

第一種方式:elevation

View的大小位置都是通過x,y確定的,而現(xiàn)在有了z軸的概念,而這個z值就是View的高度(elevation),而高度決定了陰影(shadow)的大小。

Android,控件陰影

View Elevation(視圖高度)

View的z值由兩部分組成,elevation和translationZ(它們都是Android L新引入的屬性)。
eleavation是靜態(tài)的成員,translationZ是用來做動畫。
Z = elevation + translationZ

在layout中使用* android:elevation*屬性去定義 
在代碼中使用 View.setElevation 方法去定義 
設(shè)置視圖的translation,可以使用View.setTranslationZ方法 
新的ViewPropertyAnimator.z和ViewPropertyAnimator.translationZ方法可以設(shè)置視圖的elevation值

我們通過設(shè)置elevation的值也會達到卡片陰影效果

Android,控件陰影

第二種方式:CardView

今天有空學習了下CardView的使用,既然是使用,不凡使用一個實例操作一下

CardView是Android5.0的新控件,所以我們需要在dependencies中添加支持:
compile 'com.android.support:cardview-v7:26.0.0'

CardView是繼承FrameLayout的一個布局控件,從源碼可以看出CardView支持的屬性有:

card_view:cardElevation 陰影的大小
card_view:cardMaxElevation 陰影最大高度
card_view:cardBackgroundColor 卡片的背景色
card_view:cardCornerRadius 卡片的圓角大小
card_view:contentPadding 卡片內(nèi)容于邊距的間隔

      card_view:contentPaddingBottom
      card_view:contentPaddingTop
      card_view:contentPaddingLeft
      card_view:contentPaddingRight
      card_view:contentPaddingStart
      card_view:contentPaddingEnd

card_view:cardUseCompatPadding 設(shè)置內(nèi)邊距,V21+的版本和之前的版本仍舊具有一樣的計算方式
card_view:cardPreventConrerOverlap 在V20和之前的版本中添加內(nèi)邊距,這個屬性為了防止內(nèi)容和邊角的重疊

我們看一下今天要實現(xiàn)的效果圖:

Android,控件陰影

有興趣的朋友可以嘗試使用ViewPager+CardView實現(xiàn)卡片畫廊的效果

其實CardView的使用相當于加了一個布局使用,其CardView里面內(nèi)容的實現(xiàn),還是在布局中設(shè)計
銀行卡布局:

 

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#ffffff"  android:padding="16dp">  <android.support.v7.widget.CardView    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="180dp"    app:cardBackgroundColor="#099A8C"    app:cardCornerRadius="10dp"    app:cardElevation="10dp"    app:contentPadding="16dp">    <LinearLayout      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="horizontal">      <ImageView        android:layout_width="50dp"        android:layout_height="50dp"        android:background="@drawable/icon_01" />      <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1"        android:orientation="vertical"        android:padding="8dp">        <TextView          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="中國農(nóng)業(yè)銀行"          android:textColor="#ffffff"          android:textSize="18sp" />        <TextView          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="儲蓄卡"          android:textColor="#ffffff"          android:textSize="16sp" />        <TextView          android:layout_width="match_parent"          android:layout_height="match_parent"          android:textColor="#ffffff"          android:gravity="center_vertical"          android:textSize="22sp"          android:text="**** **** **** 1234"/>      </LinearLayout>      <ImageView        android:layout_width="60dp"        android:layout_height="15dp"        android:background="@drawable/icon_02" />    </LinearLayout>  </android.support.v7.widget.CardView></RelativeLayout>

特別注意的是:使用CardView的屬性時,記得加上命名空間的聲明
xmlns:app="http://schemas.android.com/apk/res-auto

第三種方式:最強按鈕通過Color來進行設(shè)置

自認為這是按鈕最好看的效果,還自帶按下效果,設(shè)置也非常簡單,秒殺一切陰影效果,我們先來看下他的效果

未按下效果

Android,控件陰影

按下效果

Android,控件陰影

**其實這種效果非常簡單,就是定義了一個顏色。對就是一個顏色就可以達到這種效果
那這個顏色要怎么定義才能達到這種效果呢**

比如上圖的按鈕顏色是粉紅色,顏色代碼 #f692bf,我們只需要在前面加上#ff,最后這樣#ff692bf 就可以達到這種效果。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 开平市| 霍山县| 许昌县| 高淳县| 东平县| 剑川县| 武乡县| 博野县| 西峡县| 旌德县| 江源县| 道真| 新沂市| 清水河县| 常山县| 天镇县| 连州市| 康平县| 新泰市| 南投市| 江都市| 永丰县| 湖南省| 喀喇沁旗| 六安市| 溧阳市| 苏尼特左旗| 镇巴县| 柯坪县| 漯河市| 红桥区| 应城市| 阿坝| 安泽县| 鹤庆县| 庄浪县| 壶关县| 大同市| 永年县| 图木舒克市| 那坡县|