android原生控件抽屉效果实现

    xiaoxiao2021-03-25  86

    DrawerLayout介绍

    导航抽屉显示在屏幕的最左侧,默认情况下是隐藏的,当用户用手指从边缘向另一个滑动的时候,会出现一个隐藏的面板,当点击面板外部或者向原来的方向滑动的时候,抽屉导航就会消失了! 好了,这个抽屉就是DrawerLayout,该类位于V4包中。 当让公司的需求正好需要这样的效果,大于大牛来说可能太小儿科了,但是对于新手来说可以尝试着你实现一下这样的效果。话不多说。

    1.布局

    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/main_index" /> <RelativeLayout android:id="@+id/relativeLayout" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#90000000" android:clickable="true" android:orientation="vertical"> <com.rempeach.view.CircleImageView android:id="@+id/drawerLayout_head_iv" android:layout_width="80dp" android:layout_height="80dp" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:scaleType="centerCrop" android:src="@mipmap/default_avatar" /> <TextView android:id="@+id/login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/drawerLayout_head_iv" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:singleLine="true" android:text="登录/注册" android:textColor="#e4c675" android:textSize="14sp" /> <View android:id="@+id/line" android:layout_width="180dp" android:layout_height="1px" android:layout_below="@id/login" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:background="@color/color_white" /> <Button android:id="@+id/bill" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/line" android:background="@null" android:gravity="center_horizontal" android:text="账单" android:textColor="@color/color_white" android:textSize="16sp" android:visibility="gone" /> <Button android:id="@+id/bind" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/bill" android:layout_marginTop="20dp" android:background="@null" android:gravity="center_horizontal" android:text="绑定账户" android:textColor="@color/color_white" android:textSize="16sp" /> <Button android:id="@+id/discount_coupon" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/bind" android:background="@null" android:gravity="center_horizontal" android:text="优惠券" android:textColor="@color/color_white" android:textSize="16sp" /> <Button android:id="@+id/help_btn" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/discount_coupon" android:background="@null" android:gravity="center_horizontal" android:text="帮助" android:textColor="@color/color_white" android:textSize="16sp" /> <Button android:id="@+id/above_btn" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/help_btn" android:background="@null" android:gravity="center_horizontal" android:text="关于 UP !" android:textAllCaps="false" android:textColor="@color/color_white" android:textSize="16sp" /> <Button android:id="@+id/exit" android:layout_width="match_parent" android:layout_height="40dp" android:layout_alignParentBottom="true" android:layout_marginTop="20dp" android:background="@null" android:gravity="center_horizontal" android:textColor="@color/color_white" android:textSize="14sp" /> </RelativeLayout> </android.support.v4.widget.DrawerLayout>

    这里是我们抽屉里面的布局,而我们主内容则直接用include一个布局,主内容的布局我就不展示了。

    很多朋友想实现通过自己设置的image头像点击事件进行弹出抽屉

    其实这个实现起来也很方便。几句代码就能实现功能。

    mdrawerLayout.openDrawer(Gravity.LEFT);

    只要这么简单的一句就行。当然这之前的drawerlayout先要findid,还要给我们的头像控件设置点击效果。

    大功告成,这是我第一次写技术博客,先谢了一个简单的例子。当然这也是我个人再开发中遇到的一个需求,希望能对新手有帮助把。有什么问题也可以指出来。谢谢大家

    转载请注明原文地址: https://ju.6miu.com/read-23124.html

    最新回复(0)