1. 程式人生 > >Android 摺紙效果

Android 摺紙效果

https://github.com/Ramotion/folding-cell-android

https://github.com/alexvasilkov/FoldableLayout

第二個有1600star+,所以我決定用第一個,因為第一個有xxx個

.....主要是 第一個 是3年前的 ,第二個是5年前的

為了避免相容~

可以直接依賴使用 問題是 有可能要改什麼小引數 所以 最好 自己貼上 三四個類的樣子,

注意事項:

http://www.jcodecraeer.com/a/opensource/2016/0414/4145.html

幾個小坑~  這裡最後一個Foldingcell 裡   子佈局最後一個佈局才是當前顯示佈局 ,子佈局可以巢狀在XXLayout中 注意這裡的字View 一定要設定高度,content view的高度必須至少兩倍於title view高度


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:folding-cell="http://schemas.android.com/tools"
    android:orientation="vertical"
    tools:context=".MainActivity">



    <Button
        android:text="帶"
        android:onClick="dai"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:ignore="OnClick" />
    <Button
        android:onClick="budai"
        android:text="不帶"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:ignore="OnClick" />


    <!--folding-cell:additionalFlipsCount="2"   額外的翻轉次數-->
    <com.as.demo_ok10.foldingcell.FoldingCell
        android:clipChildren="false"
        android:clipToPadding="false"


        folding-cell:animationDuration="1300"
        folding-cell:backSideColor="@color/bgBackSideColor"

        android:layout_margin="20dp"
        android:id="@+id/foldingcell"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <LinearLayout
            android:background="@android:color/holo_green_dark"
            android:visibility="gone"
            android:orientation="horizontal"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <TextView

                android:text="左青龍   "
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="300dp" />

            <TextView
                android:textSize="30sp"
                android:text="    右白虎"
                android:layout_width="wrap_content"
                android:layout_height="300dp" />

        </LinearLayout>

        <LinearLayout
            android:background="@android:color/holo_blue_dark"
            android:orientation="horizontal"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <TextView

                android:gravity="center"
                android:text="前朱雀   "
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="100dp" />

            <TextView
                android:gravity="center"
                android:textSize="30sp"
                android:text="    後玄武"
                android:layout_width="wrap_content"
                android:layout_height="100dp" />

        </LinearLayout>


    </com.as.demo_ok10.foldingcell.FoldingCell>



</LinearLayout>
public class MainActivity extends AppCompatActivity {

    private FoldingCell foldingcell;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();


    }

    public void dai(View view) {
        foldingcell.toggle(false);//是否跳過動畫
    }

    public void budai(View view) {
        foldingcell.toggle(true);
    }

    private void initView() {
        foldingcell = (FoldingCell) findViewById(R.id.foldingcell);
    }
}

https://github.com/zhangqifan1/Demo_ok10