FloatingActionButton和cardview學習記錄

           一.cardview自己好像從來都沒用過,今天偶然相遇,記錄一下使用過程(很強大);

          1.先說都有什麼用處?根據名字也知道可以用來製作卡片效果,所以很多時候配合recyclerview或者listview一起使用。不過我倒是覺得可以用來製作圓形頭像或者圓角頭像,很簡單的。

          2.用法:由於cardview是framelayout的子view,因此可以理解爲就是framelayout,是不是就很簡單了。

          3.佈局中的使用          

    <!--設置點擊後出現水波紋效果-->
    <!--android:foreground="?android:attr/selectableItemBackground"-->
    <!--按下有z軸的動畫效果-->
    <!--android:stateListAnimator="@drawable/lift_on_touch"-->
    <!--控制警告,設置目標版本-->
    <!--tools:targetApi="lollipop"-->

    <android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:clickable="true"
        android:foreground="?android:attr/selectableItemBackground"
        android:stateListAnimator="@drawable/lift_on_touch"
        app:cardPreventCornerOverlap="false"
        tools:targetApi="lollipop">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/pic3" />
    </android.support.v7.widget.CardView>
4.其他屬性方法在代碼中解釋如下:

        mCardView = (CardView) findViewById(R.id.card_view);
        //設置圓角的半徑,但是當圓角半徑大於邊長的一半的時候,卻呈現出非常奇特的現象,說明他的圓角中心並不在自己的中心
        mCardView.setRadius(90);
        //設置背景顏色  重載方法爲顏色集合,說明可以設置類似selector的效果
        mCardView.setCardBackgroundColor(getResources().getColor(R.color.error_color));
        //設置陰影的大小
        mCardView.setCardElevation(50);
        //設置cardview在不同的api中有相同的padding尺寸,否則在Android L和向下版本中尺寸大小會不一樣
        mCardView.setUseCompatPadding(true);
        //設置cardview與子view的內邊距  setpadding則無效果了
        mCardView.setContentPadding(30,30,30,30);
        //設置false則子view填充滿,否則則子view大小會變小,大小爲尺寸減去圓角尺寸
        mCardView.setPreventCornerOverlap(false);

完了,效果很強大,自行補腦。。。。

  二.floatactionbutton控件學習記錄

1.可以用來做什麼:可以製作類似浮標的效果,當然配合coordiantorlayout使用最合適了

2.用法:很簡單,所有的屬性都做了註釋,其他繼承於imageview的不做研究

    <!--懸掛在哪個view上面,這個屬性只用在coordiantorlayout中才有用-->
    <!--app:layout_anchor="@id/img"-->

    <!--懸掛的相對位置,方式,以中心點爲基準-->
    <!--app:layout_anchorGravity="bottom|right"-->

    <!--由於父親是imageview,因此用法也一樣-->
    <!--android:src="@drawable/pic3"-->

    <!--設置背景顏色,默認爲系統theme中的顏色-->
    <!--app:backgroundTint="#77098765"-->

    <!--設置混合模式,沒用試出來什麼效果-->
    <!--app:backgroundTintMode="src_over"-->

    <!--該屬性尤爲重要。假設不設置0dp。那麼在4.1的sdk上FAB會顯示爲正方形。並且在5.0以後的sdk沒有陰影效果。所以設置爲borderWidth="0dp"-->
    <!--app:borderWidth="0dp"-->

    <!--設置默認狀態下陰影的大小-->
    <!--app:elevation="100dp"-->

    <!--設置按下後陰影的大小-->
    <!--app:pressedTranslationZ="10dp"-->

    <!--設置FAB的大小,默認爲normal,還有mini尺寸-->
    <!--app:fabSize="mini"-->

    <!--設置點擊時的北京顏色-->
    <!--app:rippleColor="#FFCA2121"-->

    <!--行爲,只有配合CoordinatorLayout使用纔有效,可以自定義-->
    <!--app:layout_behavior=""-->

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:scaleType="fitXY"
        android:src="@drawable/pic3"
        app:backgroundTint="#098765"
        app:backgroundTintMode="src_over"
        app:borderWidth="0dp"
        app:elevation="2dp"
        app:fabSize="normal"
        app:layout_anchor="@id/img"
        app:layout_anchorGravity="bottom|right"
        app:pressedTranslationZ="10dp"
        app:rippleColor="#FFCA2121"
        app:layout_behavior=""
        />

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章