一、什么是Android抽屉
Android抽屉是指在Android应用程序中的一种UI设计风格,它通过可滑动的侧边栏来提供导航栏、菜单等功能。抽屉通常在应用程序的主界面上呈现一个图标,用户可以通过拖动或点击该图标在主界面和侧边栏之间进行切换。它的出现让用户能够很方便的进行导航、查看用户资料、搜索等操作,增强了用户体验感和应用程序的交互性。
二、为什么选择Android抽屉
1、提升用户体验:抽屉菜单方便用户更快速的导航和使用应用程序,避免了翻页或者切换tab导致的信息要重新读取页面的问题。
2、方便快捷:抽屉菜单更易于访问单独功能模块,用户通过抽屉途径,一步进入关心的功能,这样在大大提高了操作效率的同时也给用户带来了使用愉悦感。
3、承载更多信息:抽屉中可以嵌套分类和子菜单,不同的应用可以实现不同的目的,抽屉还可以被程序用做信息提示的承载平台。
三、如何实现Android抽屉
1、首先需要在布局文件中设置侧滑栏、Activity的显示内容、ToolBar并在侧滑栏和Activity中添加一些菜单选项。
<android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/drawer_layout"> <!-- 主界面内容 --> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 设置ToolBar --> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary"/> <!-- 设置主界面布局 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> </RelativeLayout> <!-- 抽屉菜单栏 --> <LinearLayout android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/white" android:orientation="vertical"> <!-- 添加菜单选项 --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="选项1" android:padding="16dp"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="选项2" android:padding="16dp"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="选项3" android:padding="16dp"/> </LinearLayout> </android.support.v4.widget.DrawerLayout>
2、在Activity中声明ActionBarDrawerToggle并设置DrawerLayout监听器,处理DrawerLayout的开和关。
public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle mDrawerToggle; protected void onCreate(Bundle savedInstanceState) { mDrawerLayout = findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.open_drawer, R.string.close_drawer); mDrawerToggle.syncState(); mDrawerLayout.addDrawerListener(mDrawerToggle); } }
3、最后在menu文件夹(如果没有,需要新建一个)中添加菜单选项,设置图标和文本即可。
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:icon="@drawable/ic_settings_black_24dp"/> <item android:id="@+id/action_help" android:title="@string/action_help" android:icon="@drawable/ic_help_outline_black_24dp" /> </menu>
四、Android抽屉的使用场景
1、针对大型APP:例如新闻、购物类的APP,侧滑栏可以更好地显示分类、资讯、排行榜、个人中心等信息,并且方便用户进行筛选,从而带来更好的用户体验。
2、针对地图类APP:在地图中嵌入抽屉菜单可以非常方便地提供路线规划、路况查询、周边POI查找等操作,并且抽屉中的切换可以不会影响主界面,避免地图重新载入带来的耗时操作。
3、针对侧滑栏信息推送:通过推送系统向用户发送的信息,例如关注的公众号文章推送,都可以通过侧滑栏进行展示,不影响APP主界面的操作,同时也起到一个很好的提示作用。
五、总结
Android抽屉给用户操作提供了一种更方便的方式,不仅仅方便了用户的使用体验,同时也为APP提供了更多的可扩展性,这在当前App占据了大头市场的时代尤为重要。但是需要注意,为了保持交互的简洁性,业务需求合理性等,单个侧边栏不宜设置过多的功能项,同时需要细心把握侧边栏和主界面的UI设计风格,毕竟抽屉显示出来的是设计的品味和质量。在应用开发时,根据不同需求和特点合理运用抽屉,可以给用户带来比较好的使用体验,从而提高应用的参与度和用户黏性。