Context-Menu.Android 开源项目教程
项目介绍
Context-Menu.Android 是一个由 Yalantis 开发的开源项目,旨在为 Android 应用提供一个美观且易于定制的上下文菜单。这个项目基于 Android 的 Material Design 规范,提供了丰富的动画效果和灵活的布局选项,使得开发者可以轻松地在应用中集成高质量的上下文菜单功能。
项目快速启动
添加依赖
首先,在你的 build.gradle
文件中添加以下依赖:
dependencies {
implementation 'com.github.yalantis:context-menu:1.0.8'
}
布局文件
在你的布局文件中添加 ContextMenuView
:
<com.yalantis.contextmenu.lib.ContextMenuView
android:id="@+id/context_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@android:color/white"
app:menu_items="@array/menu_items"
app:menu_icons="@array/menu_icons"
app:menu_background="@drawable/menu_background"
app:menu_item_layout="@layout/menu_item_layout"
app:menu_animation_duration="300"
app:menu_item_elevation="4dp"
app:menu_item_corner_radius="8dp"
app:menu_item_padding="16dp"
app:menu_item_margin="8dp"
app:menu_item_text_color="@android:color/black"
app:menu_item_text_size="16sp"
app:menu_item_text_style="normal"
app:menu_item_icon_size="24dp"
app:menu_item_icon_color="@android:color/black"
app:menu_item_divider_color="@android:color/darker_gray"
app:menu_item_divider_height="1dp"
app:menu_item_ripple_color="@android:color/holo_blue_light"
app:menu_item_ripple_alpha="0.5"
app:menu_item_ripple_duration="200"
app:menu_item_ripple_radius="24dp"
app:menu_item_ripple_clip_to_outline="true"
app:menu_item_ripple_clip_to_padding="true"
app:menu_item_ripple_clip_to_margin="true"
app:menu_item_ripple_clip_to_background="true"
app:menu_item_ripple_clip_to_foreground="true"
app:menu_item_ripple_clip_to_content="true"
app:menu_item_ripple_clip_to_bounds="true"
app:menu_item_ripple_clip_to_padding_and_margin="true"
app:menu_item_ripple_clip_to_padding_and_background="true"
app:menu_item_ripple_clip_to_padding_and_foreground="true"
app:menu_item_ripple_clip_to_padding_and_content="true"
app:menu_item_ripple_clip_to_padding_and_bounds="true"
app:menu_item_ripple_clip_to_margin_and_background="true"
app:menu_item_ripple_clip_to_margin_and_foreground="true"
app:menu_item_ripple_clip_to_margin_and_content="true"
app:menu_item_ripple_clip_to_margin_and_bounds="true"
app:menu_item_ripple_clip_to_background_and_foreground="true"
app:menu_item_ripple_clip_to_background_and_content="true"
app:menu_item_ripple_clip_to_background_and_bounds="true"
app:menu_item_ripple_clip_to_foreground_and_content="true"
app:menu_item_ripple_clip_to_foreground_and_bounds="true"
app:menu_item_ripple_clip_to_content_and_bounds="true"