1. 程式人生 > >安卓基於DrawerLayout實現側邊欄實現

安卓基於DrawerLayout實現側邊欄實現

效果圖:

側邊欄在大多數app中都存在的,

mDrawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); //關閉手勢滑動

mDrawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); //開啟手勢滑動

 

下面直接貼程式碼:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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"
    android:id="@+id/drawerlayout"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv_toRelease"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tv_cart"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50pt"
        android:gravity="center"
        android:text="購物車" />

    <!--right menu-->
    <RelativeLayout
        android:id="@+id/right_menu"
        android:layout_width="530px"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="@color/white"
        android:clickable="true">

        <RelativeLayout
            android:id="@+id/top_img"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#a5b4bb"
            android:paddingBottom="20px">

            <!--headIcon-->
            <RelativeLayout

                android:id="@+id/relative_head_icon"
                android:layout_width="200px"
                android:layout_height="250px"
                android:layout_marginLeft="10px">

                <com.xgh.ex.releasealtsjavademo.drawerlayout.CircleImageView
                    android:id="@+id/iv_user_header"
                    android:layout_width="140px"
                    android:layout_height="140px"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"

                    android:src="@drawable/accountdefault"

                    />

                <ImageView
                    android:id="@+id/img_vip"
                    android:layout_width="30px"

                    android:layout_height="30px"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentRight="true"
                    android:layout_marginBottom="50px"
                    android:layout_marginRight="50px"


                    android:layout_marginTop="15px"
                    android:visibility="gone" />


                <TextView
                    android:id="@+id/tv_class_name"

                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_marginLeft="55px"
                    android:text="代理號"
                    android:textColor="@color/white"
                    android:textSize="10sp"
                    android:visibility="gone" />


            </RelativeLayout>

            <TextView
                android:id="@+id/tv_user_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="60px"
                android:layout_toRightOf="@id/relative_head_icon"
                android:ellipsize="end"
                android:maxLength="8"
                android:text="請登入"
                android:textColor="@color/white"
                android:textSize="38px" />


            <RelativeLayout
                android:id="@+id/rela_weidenglu"
                android:layout_width="match_parent"


                android:layout_height="wrap_content"
                android:layout_below="@id/tv_user_name"
                android:layout_toRightOf="@+id/relative_head_icon">


                <TextView
                    android:id="@+id/tv_description"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="15px"
                    android:layout_marginTop="12px"
                    android:ellipsize="end"
                    android:maxLines="2"
                    android:text="這傢伙很懶,什麼都沒寫。"
                    android:textColor="@color/white"
                    android:textSize="13sp" />


                <TextView
                    android:id="@+id/tv_flow"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/tv_description"
                    android:layout_marginTop="12px"
                    android:layout_toRightOf="@+id/relative_head_icon"
                    android:textColor="@color/white"
                    android:textSize="11sp" />

                <TextView
                    android:id="@+id/tv_flow_num"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/tv_description"

                    android:layout_marginLeft="10px"
                    android:layout_marginRight="20px"

                    android:layout_marginTop="12px"

                    android:layout_toRightOf="@id/tv_flow"
                    android:text="0"


                    android:textColor="@color/white"
                    android:textSize="11sp"


                    />


                <TextView
                    android:id="@+id/tv_fens"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/tv_description"
                    android:layout_marginLeft="10px"
                    android:layout_marginTop="12px"
                    android:text="粉絲"
                    android:layout_toRightOf="@id/tv_flow_num"
                    android:textColor="@color/white"
                    android:textSize="11sp" />

                <TextView
                    android:id="@+id/tv_fens_num"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/tv_description"
                    android:layout_marginLeft="10px"
                    android:layout_marginRight="10px"
                    android:layout_marginTop="12px"
                    android:layout_toRightOf="@id/tv_fens"
                    android:text="0"
                    android:textColor="@color/white"
                    android:textSize="11sp"
                    />

            </RelativeLayout>


            <TextView
                android:id="@+id/tv_rigiest"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tv_user_name"
                android:layout_marginTop="20px"
                android:layout_toRightOf="@id/relative_head_icon"
                android:padding="5px"
                android:text="註冊"
                android:textColor="@color/white"
                android:textSize="12sp" />


            <TextView
                android:id="@+id/tv_login"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tv_user_name"
                android:layout_marginLeft="20px"
                android:layout_marginTop="20px"
                android:layout_toRightOf="@id/tv_rigiest"
                android:padding="5px"
                android:text="登入"
                android:textColor="@color/white"
                android:textSize="12sp" />


        </RelativeLayout>


        <LinearLayout
            android:id="@+id/lin_one"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/top_img"
            android:orientation="vertical">


            <LinearLayout
                android:id="@+id/linear_trends"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20px"
                android:gravity="center_vertical"
                android:paddingBottom="12px"
                android:paddingLeft="26px"
                android:paddingRight="26px"
                android:paddingTop="36px"
                >

                <ImageView
                    android:layout_width="30px"
                    android:layout_height="30px"
                     />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="20px"
                    android:layout_weight="1"
                    android:text="系統訊息"
                    android:textColor="#989898"
                    android:textSize="15sp" />

                <ImageView
                    android:id="@+id/iv_red"
                    android:layout_width="15px"
                    android:layout_height="15px"
                    android:layout_gravity="center_vertical"
                    android:layout_marginRight="20px"
                    android:background="@drawable/shape_hint_bg"
                    android:padding="10px"
                    android:visibility="gone" />


            </LinearLayout>

            <LinearLayout
                android:id="@+id/linear_renzheng"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20px"
                android:gravity="center_vertical"
                android:paddingBottom="36px"
                android:paddingLeft="26px"
                android:paddingRight="26px"
                android:paddingTop="13px">

                <ImageView
                    android:layout_width="30px"
                    android:layout_height="30px"
                    />

                <TextView
                    android:id="@+id/tv_renzheng"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="20px"
                    android:layout_weight="1"
                    android:text="認證"
                    android:textColor="#989898"
                    android:textSize="15sp" />


            </LinearLayout>

            <!--<com.zhy.autolayout.AutoLinearLayout-->
            <!--android:id="@+id/linear_daren"-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="wrap_content"-->


            <!--android:layout_marginLeft="20px"-->
            <!--android:gravity="center_vertical"-->
            <!--android:padding="26px">-->

            <!--<ImageView-->
            <!--android:layout_width="30px"-->
            <!--android:layout_height="30px"-->
            <!--android:src="@drawable/darenhao" />-->

            <!--<TextView-->
            <!--android:layout_width="wrap_content"-->
            <!--android:layout_height="wrap_content"-->
            <!--android:layout_marginLeft="20px"-->
            <!--android:layout_weight="1"-->
            <!--android:text="@string/darenhao"-->
            <!--android:textColor="#989898" />-->


            <!--</com.zhy.autolayout.AutoLinearLayout>-->

            <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:layout_marginLeft="46px"
                android:layout_marginRight="20px"
                android:background="#d7d7d7" />
        </LinearLayout>


        <RelativeLayout
            android:id="@+id/view_setting"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true">

            <View
                android:layout_width="match_parent"
                android:layout_height="1px"
                android:layout_marginLeft="46px"
                android:layout_marginRight="20px"
                android:background="#d7d7d7" />


            <LinearLayout
                android:id="@+id/linear_setting"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">


                <LinearLayout
                    android:id="@+id/lin_set"
                    android:layout_width="wrap_content"
                    android:layout_height="200px"
                    android:layout_marginLeft="100px"
                    android:gravity="center"
                    android:orientation="vertical">


                    <ImageView
                        android:layout_width="30px"
                        android:layout_height="30px"
                        android:layout_marginTop="40px"
                         />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="20px"
                        android:layout_weight="1"
                        android:text="設定"
                        android:textColor="@color/black"
                        android:textSize="13sp" />


                </LinearLayout>

                <!--<com.zhy.autolayout.AutoLinearLayout-->
                <!--android:layout_width="0px"-->
                <!--android:layout_weight="1"-->
                <!--android:id="@+id/lin_about_me"-->
                <!--android:gravity="center"-->
                <!--android:orientation="vertical"-->
                <!--android:layout_height="200px">-->


                <!--<ImageView-->
                <!--android:layout_marginTop="40px"-->
                <!--android:layout_width="30px"-->
                <!--android:layout_height="30px"-->
                <!--android:src="@drawable/icon_dongtai" />-->

                <!--<TextView-->
                <!--android:layout_marginTop="20px"-->
                <!--android:layout_width="wrap_content"-->
                <!--android:layout_height="wrap_content"-->

                <!--android:layout_weight="1"-->
                <!--android:text="@string/about_us"-->
                <!--android:textColor="@color/black" />-->


                <!--</com.zhy.autolayout.AutoLinearLayout>-->

                <!--設定,建議與反饋-->
                <LinearLayout
                    android:id="@+id/lin_fankui"
                    android:layout_width="wrap_content"
                    android:layout_height="200px"
                    android:layout_marginLeft="70px"
                    android:gravity="center"
                    android:orientation="vertical">


                    <ImageView
                        android:layout_width="30px"
                        android:layout_height="30px"
                        android:layout_marginTop="40px"
                         />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="20px"
                        android:layout_weight="1"
                        android:text="建議與反饋"
                        android:textColor="@color/black"
                        android:textSize="13sp" />


                </LinearLayout>

            </LinearLayout>

            <!--<com.taiyasaifu.app.widget.ChaoLianJie-->
            <!--android:id="@+id/chaojianlie"-->
            <!--android:layout_width="match_parent"-->
            <!--android:visibility="gone"-->
            <!--android:layout_height="100px"-->
            <!--android:layout_below="@id/linear_setting" />-->

        </RelativeLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/icon_rv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@id/view_setting"
            android:layout_below="@id/lin_one"
            android:layout_marginTop="10px"
            android:paddingBottom="10px">

        </android.support.v7.widget.RecyclerView>

    </RelativeLayout>

</android.support.v4.widget.DrawerLayout>