怎么用android 实现画廊效果实现ActionSheet效果

源码推荐(7.20):ActionSheet 预览图库图片,点赞效果按钮
招聘信息:
(作者:)自定义显示ActionSheet_sheet&=&[[UUPhotoActionSheet&alloc]&initWithMaxSelected:9
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&weakSuper:self];
_sheet.delegate&=&
[self.navigationController.view&addSubview:_sheet];
[_sheet&showAnimation];&//显示动画
#pragma&mark&-&Custom&Deledate
-&(void)actionSheetDidFinished:(NSArray&*)obj{
&&&&&NSLog(@"已发送&%lu&图片",(unsigned&long)obj.count);
}测试环境:Xcode 6.2,iOS 6.0以上(作者:)一个和大多数应用的点赞效果一样的按钮,非常方便使用#import&"CatZanButton"
CatZanButton&*zanBtn=[[CatZanButton&alloc]&initWithFrame:CGRectMake(0,&0,&50,&50)&zanImage:[UIImage&imageNamed:@"Zan"]&unZanImage:[UIImage&imageNamed:@"UnZan"]];
[zanBtn&setCenter:self.view.center];
[self.view&addSubview:zanBtn];
[zanBtn&setClickHandler:^(CatZanButton&*zanButton)&{
&&if&(zanButton.isZan)&{
&&&&//Do&something
&&&&//Do&something
}];测试环境:Xcode 6.2,iOS 6.0以上(作者:)可支持JSON配置的CoreTextTLAttributeConfig 属性的配置,配置好属性后传入TLFrameParser对应的方法中即可,可默认为空测试环境:Xcode 6.2,iOS 6.0以上(作者:)项目需要 将网上找到的毛玻璃 半透明效果 作为例子在此共享,希望能方便更多人。测试环境:Xcode 6.2,iOS 6.0以上(作者:)简单易用的左划菜单框架,有支持缩放和不缩放两种效果,带弹簧效果,简单定制自己的左侧菜单,可设置文字和图片使用很简单只需要让你的根视图控制器继承HUSliderMenuViewController即可,而且有很高的定制性,测试环境:Xcode 6.2,iOS 7.0以上
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量16272点击量10875点击量8664点击量8017点击量7488点击量7063点击量6588点击量6497点击量5716
&2016 Chukong Technologies,Inc.
京公网安备89Android开发技巧使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用。 因统一和新颖的界面需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在本文当中,我将与大家分享如何使用PopupWindow实现弹出菜单。 1.弹出菜单的封装
12:53&&&[]
Android中,使用手指触摸,不能像电脑一样有鼠标左键和右键,所以会有一个PopupWindow来代替鼠标右键。当用户点击的时候出现一个弹出的窗口与用户交流信息。好了,现在就开始介绍PopupWindow的用法。
首先声明一个PopupWindow的对象
PopupWindow &nbsp
13:46&&&[]
PopupWindow是Android上自定义弹出窗口,使用起来很方便。 PopupWindow的构造函数为
public PopupWindow(View contentView, int width, int height, boolean focusable)
contentView为要
16:28&&&[]
); setLayoutDirectionFromAnchor(); mWindowManager.addView(mPopupView, p); }
& & & & & 本文实现的效果就是通过PopupWindow弹出一个自定义menu,如图所示:
20:49&&&[]
Android 单击listview弹出popupwindow弹出框,里面还附带listview右滑删除按钮。有时候需要listview的每一项都可以弹出popupwindow弹出框,QQ上也有类似的效果。 附上与本文相关部分内容,因为我是在此基础上写的Android 使用
09:40&&&[]
在上一篇《Android开发技巧??使用Dialog实现仿QQ的ActionSheet菜单》中,讲了这种菜单的实现过程,接下来将把它改成一个可复用的控件库。
对于要实现的可复用的控件库,我需要它具备以下两点:
可添加远程依赖(不考虑Eclipse中的使用) 可灵活配置
分离库的实现代码 对于
10:46&&&[]
项目中,我需要PopupWindow的时候特别多,这个东西也特别的好使,所以我今天给大家写一款PopupWindow 仿微信弹出效果,这样大家直接拿到项目里就可以用了!首先让我们先看效果:
那么我首先先看下布局代码非常简单:如下
&LinearLayout xmlns:android
21:04&&&[]
有一个需求是:在一个图片按钮上点击,在按钮的上方弹出一个弹框,根据弹框的内容页面做不同的显示。这个其实没什么难的,主要是要控制好弹框的显示位置,让弹框显示在图片的正上方的中间。 一开始是用的Popupwindow,但是Popupwindow不能给弹窗之外的页面加一个半透明的蒙层,当然可以在页面上加
15:53&&&[]
Focus on technology, enjoy life!?? QQ:
浏览链接: 主题:用户界面之PopupWindow(弹出窗口)
- PopupWindow和AlertDialog的区别: AlertDialog是非阻塞式的:AlertDialog弹出时,后台
11:21&&&[]
最近看到有人用Dialog来实现QQ的仿ActionSheet的自定义菜单,对于自己没实现过的一些控件,看着也想实现一下。于是动手了一下,发现也不难,和大家分享一下。本文原创,转载请注明出处:在这里我也是用Dialog来实现,代码不多,这里说一下实现的过程。菜单的布局文件首先我们写先一下菜单的布局
06:16&&&[]
一个popupWindow&里面有个按钮,实现这个按钮的onTouch事件弹出另外一个popupWindow&,这时出现以下错误。
01&06:18:18.214:&ERROR/AndroidRuntime(888):&nbsp
00:35&&&[]
tabhost Android PopupWindow
如上图,当我点击更多时会弹出一个PopupWindow,可是总是报错,错误信息如下:
05-02&03:13:22.999:&E/AndroidRuntime(1404):&FATAL&nbsp
17:28&&&[]扩展IOS系统自带ActionSheet,使其支持图文混排。 - 简书
下载简书移动应用
写了137981字,被350人关注,获得了405个喜欢
扩展IOS系统自带ActionSheet,使其支持图文混排。
ActionSheetExtension
扩展IOS系统自带ActionSheet,使其支持图文混排。
UIActionSheet是IOS提供给我们开发者的底部弹出菜单控件,一般用于菜单选择、操作确认、删除确认等功能。&br/&IOS官方提供的以下方式对UIActionView进行实例化:&br/&
- (instancetype)initWithTitle:(NSString *)title delegate:(id&UIActionSheetDelegate&)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... );
从这个api我们可以看出,我们只能设置文本标题,包括destructiveButtonTitle、cancelButtonTitle和otherButtonTitles,官方提供的该控件并不支持图文混排。但有的时候,交互提给我们的需求又需要我们的ActionSheet具有图文混排的效果,那就需要我们自己仿造系统自带的ActionSheet,完成该需求。&br/&项目演示如下:&br/&
二、使用说明
第一步、构建数据模型
@interface Item : NSObject
@property (nonatomic , strong) NSString *//图片地址
@property (nonatomic , strong) NSString *//标题
第二步、根据数据模型构建数据
Item *item1 = [[Item alloc] init];
item1.icon = @"journey_phone";
item1.title = @"";
Item *item2 = [[Item alloc] init];
item2.icon = @"journey_phone";
item2.title = @"";
Item *item3 = [[Item alloc] init];
item3.icon = @"journey_phone";
item3.title = @"";
NSArray *listData = [NSArray arrayWithObjects:item1,item2,item3, nil];
第三步、使用以上数据将控件初始化
PicAndTextActionSheet *sheet = [[PicAndTextActionSheet alloc] initWithList:listData title:@"拨打电话"];
sheet.delegate =//该控件使用的代理模式
[sheet showInView:self];
因为该控件使用了代理模式,所以在当前Controller需要实现以下代理方法:
-(void) didSelectIndex:(NSInteger)index{
该代理方法,主要是在Controller中能够实现在自定义ActionSheet中的点击事件。&br/&
三、实现原理
因为ActionSheet不能支持图片的显示,所以我们就放弃使用扩展UIActionSheet控件的方法。我在本项目中使用的是UITableView+动画,高仿ActionSheet的方法。UTableView可以制作列表选项,动画可以实现系统自带ActionSheet的自底向上和渐变效果。&br/&
&font color=red&注意点:&font&&br/&
如果tableview处于uiview上面,uiview整个背景有点击事件,但是我们需要如果我们点击tableview的时候,处理tableview的点击事件,而不是uiview的事件。在这里,我们需要判断我们点击事件是否在uiview上还是在uitableview上。&br/&解决方案如下:&br/&1、实现代理:
&UIGestureRecognizerDelegate&
2、让gesture设置为代理
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tappedCancel)];
tapGesture.delegate =
3、实现代理方法,判断点击的是否是uiview还是tableview
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
if([touch.view isKindOfClass:[self class]]){
return YES;
return NO;
任何一个复杂控件,基本上都是有基础控件组合实现而成。该扩展的ActionSheet也可以用于以下场景:
&br/&&br/&
五、下载地址
github下载地址:
请我喝罐可乐吧?
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
玩转简书的第一步,从这个专题开始。
想上首页热门榜么?好内容想被更多人看到么?来投稿吧!如果被拒也不要灰心哦~入选文章会进一个队...
· 90609人关注
简书程序员大本营
投稿须知:
1.本专题仅收录与程序有关的文章。
2.请在代码框里写代码,尽量保证可看性。
关注简书官...
· 77915人关注
分享 iOS 开发的知识,解决大家遇到的问题,讨论iOS开发的前沿,欢迎大家投稿~
· 16464人关注
请我喝罐可乐吧?
选择支付方式:您所在的位置: &
iOS开发:关于ActionSheet
iOS开发:关于ActionSheet
本文介绍了iOS开发中的关于ActionSheet的功能与用法,希望本文对正在学习或者是准备要开始学习iOS开发的同学起到一些作用。
显示菜单的方法:
1、showInView
2、showFromToolBar:和showFromTabBar
视图控制类需要是现实协议接口UIActionSheetDelegate
@interface&HelloController&:UIViewController&UIActionSheetDelegate&&@end&
主要实现代码:
-&(void)actionSheet:(UIActionSheet*)actionSheetclickedButtonAtIndex:(NSInteger)buttonIndex&{&printf(&User&Pressed&Button&%d\n&,buttonIndex&+&1);&[actionSheet&release];&}&-&(void)&presentSheet&{&UIActionSheet&*menu&=&[[UIActionSheetalloc]&initWithTitle:&@&FileManagement&&delegate:self&cancelButtonTitle:@&Cancel&&destructiveButtonTitle:@&DeleteFile&&otherButtonTitles:@&Rename&File&,&@&EmailFile&,&nil];&[menu&showInView:self.view];&}
UIActionSheet类
继承UIView
Use&the&UIActionSheet&class&to&presentthe&user&with&a&set&of&alternatives&for&how&to&proceed&with&a&giventask.&You&can&also&use&action&sheets&to&prompt&the&user&to&confirma&potentially&dangerous&action.&The&action&sheet&contains&anoptional&title&and&one&or&more&buttons,&each&of&which&correspondsto&an&action&to&take.&
使用UIActionSheet类呈现给用户一系列交替选项用于决定如何处理所给的任务。你也可以使用动作表来提示用户确认具有潜在危险的动作。动作表包含可选标题和1个或多个按钮,每个按钮对应响应所给的动作。
Creating&Action&Sheets
&initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:&
Setting&Properties
delegate&&property&title&&property&visible&&property&actionSheetStyle&property&
Configuring&Buttons
&addButtonWithTitle:&numberOfButtons&property&&buttonTitleAtIndex:&cancelButtonIndex&property&destructiveButtonIndex&property&firstOtherButtonIndex&property&
Presenting&the&Action&Sheet
&showFromTabBar:&&showFromToolbar:&&showInView:&&showFromBarButtonItem:animated:&&showFromRect:inView:animated:&
Dismissing&the&Action&Sheet
&dismissWithClickedButtonIndex:animated:&
备注:比对学习下UIAlertView,你会发现这两个类基本类似
这里还有一组常量值
UIActionSheetStyle
Specifies&the&style&of&an&actionsheet.
typedef&enum&{&UIActionSheetStyleAutomatic&&=-1,&UIActionSheetStyleDefault&&=&UIBarStyleDefault,&UIActionSheetStyleBlackTranslucent&=UIBarStyleBlackTranslucent,&UIActionSheetStyleBlackOpaque&&=UIBarStyleBlackOpaque,&}&UIActionSheetS&
UIActionSheetStyleAutomatic
Takes&the&appearance&of&the&bottom&bar&if&&otherwise,same&as&UIActionSheetStyleDefault.
UIActionSheetStyleDefault
&Thedefault&style.
UIActionSheetStyleBlackTranslucent
&Ablack&translucent&style.
UIActionSheetStyleBlackOpaque
&Ablack&opaque&style.
协议接口学习
UIActionSheetDelegate协议接口
The&UIActionSheetDelegate&protocoldefines&the&methods&a&delegate&of&a&UIActionSheet&object&shouldimplement.&The&delegate&implements&the&button&actions&and&any&othercustom&behavior.&Some&of&the&methods&defined&in&this&protocol&areoptional.
Responding&to&Actions
&actionSheet:clickedButtonAtIndex:&
Customizing&Behavior
&willPresentActionSheet:&&didPresentActionSheet:&&actionSheet:willDismissWithButtonIndex:&&actionSheet:didDismissWithButtonIndex:&
&actionSheetCancel:&【编辑推荐】【责任编辑: TEL:(010)】
关于&&&&&&的更多文章
开发者在代码开发和维护中,往往会遇到很多代码优化和内存优化的
既然强大的Android Studio来了,有什么理由不去用呢?
关于App营销,了解哪类App最能引起用户关注,以及不同
在iOS开发过程中,尤其是对于新手来说,都会遇到或多
Web App开发中会面临越来越“重”的问题,如果在开始
在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见
Windows Phone专家
Android开发专家
51CTO旗下网站

我要回帖

更多关于 android实现动画效果 的文章

 

随机推荐