Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.alamops:android-ActionSheet:'
}
dependencies {
implementation("com.github.alamops:android-ActionSheet:")
}
<dependency>
<groupId>com.github.alamops</groupId>
<artifactId>android-ActionSheet</artifactId>
<version></version>
</dependency>
libraryDependencies += "com.github.alamops" % "android-ActionSheet" % ""
:dependencies [[com.github.alamops/android-ActionSheet ""]]
This is like iOS UIActionSheet component, has iOS6 and iOS7 style, support custom style, background, button image, text color and spacing etc.
<p> <img src="https://raw.githubusercontent.com/baoyongzhang/ActionSheetForAndroid/master/screenshot-1.png" width="320" alt="Screenshot"/> <img src="https://raw.githubusercontent.com/baoyongzhang/ActionSheetForAndroid/master/screenshot-2.png" width="320" alt="Screenshot"/> </p>dependencies {
compile 'com.baoyz.actionsheet:library:1.1.7'
}
ActionSheet.createBuilder(this, getSupportFragmentManager())
.setCancelButtonTitle("Cancel")
.setOtherButtonTitles("Item1", "Item2", "Item3", "Item4")
.setCancelableOnTouchOutside(true)
.setListener(this).show();
setCancelButtonTitle() Cancel button title, (String)setOtherButtonTitles() Item buttons title,(String[])setCancelableOnTouchOutside() Touch outside to close, (boolean)setListener() set a Listener to listen eventshow() Show ActionSheet, return ActionSheet Object,call dismiss() method of ActionSheet to close.implementing ActionSheetListener interface.
onOtherButtonClick() Click item event,index is item index.onDismiss() Dismiss event. @Override
public void onOtherButtonClick(ActionSheet actionSheet, int index) {
Toast.makeText(getApplicationContext(), "click item index = " + index,
0).show();
}
@Override
public void onDismiss(ActionSheet actionSheet, boolean isCancle) {
Toast.makeText(getApplicationContext(), "dismissed isCancle = " + isCancle, 0).show();
}
Default style is bad,ActionSheet has iOS6 and iOS7 style,you can configure the theme.
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="actionSheetStyle">@style/ActionSheetStyleiOS6</item>
or
<item name="actionSheetStyle">@style/ActionSheetStyleiOS7</item>
</style>
You can custom style, can refer to ActionSheetStyleiOS6/ActionSheetStyleiOS7 writing.
<!-- iOS7 Style -->
<style name="ActionSheetStyleiOS7">
<item name="actionSheetBackground">@android:color/transparent</item>
<item name="cancelButtonBackground">@drawable/slt_as_ios7_cancel_bt</item>
<item name="otherButtonTopBackground">@drawable/slt_as_ios7_other_bt_top</item>
<item name="otherButtonMiddleBackground">@drawable/slt_as_ios7_other_bt_middle</item>
<item name="otherButtonBottomBackground">@drawable/slt_as_ios7_other_bt_bottom</item>
<item name="otherButtonSingleBackground">@drawable/slt_as_ios7_other_bt_single</item>
<item name="cancelButtonTextColor">#1E82FF</item>
<item name="otherButtonTextColor">#1E82FF</item>
<item name="actionSheetPadding">10dp</item>
<item name="otherButtonSpacing">0dp</item>
<item name="cancelButtonMarginTop">10dp</item>
<item name="actionSheetTextSize">12sp</item>
</style>
actionSheetBackgroundcancelButtonBackgroundotherButtonTopBackgroundotherButtonMiddleBackgroundotherButtonBottomBackgroundotherButtonSingleBackgroundcancelButtonTextColorotherButtonTextColoractionSheetPaddingotherButtonSpacingcancelButtonMarginTopactionSheetTextSize