- 博客(19)
- 资源 (8)
- 问答 (3)
- 收藏
- 关注
原创 二十三、发帖多图选择
在发帖时,可以从手机相册选择图片,最多可以选择9张。要实现的效果如图所示:单击右上角的勾勾选择图片或者取消选择。一开始我的实现逻辑是这样的:1、在adapter里面的绑定ViewHolder时,设置勾勾的点击事件:vh.hookImageView.setOnClickListener(new View.OnClickListener() { @Override
2016-08-30 10:31:34 418
原创 二十二、图文混合排版
我们在APP上看的帖子,有文字又有图片,经过我个人分析,应该就是通过图文混合排版实现的,主要用到的类就是SpannableStringBuilder。在帖子中显示的图片,保存在服务器时,就是一个链接地址,为了便于我们在文章中把图片链接地址找出来,我们规定图片链接的格式是:{image=链接地址},这样我们就可以通过正则表达式找出图片链接和图片的位置,然后替换成图片插入到文章中。一、
2016-08-29 16:32:47 941
原创 二十、修改头像(1)----选择相册
点击“从手机相册选择”图片后,打开相册列表,选择一个相册,第一个相册是所有照片。这部分有两个点需要注意,一个是获取所有相册和显示相册图片时容易造成的OutOfMemery异常。一、获取所有相册由于这个过程不是瞬间能够马上完成的,为了防止程序卡死,采用异步的方式加载,封装成一个工具类,加载完成后回调。使用起来就很简单:// 读取相册AlbumUtil.getAllAlbum(t
2016-08-19 14:49:52 459
原创 十九、使用PopupWindow
一、PopupWindow与AlertDialog的区别最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置的,随便哪个位置都可以,更加灵活。
2016-08-18 23:12:36 761
原创 十八、封装SQLite
把一些数据放在本地数据库,当离线时,展示缓存的数据给用户,不至于什么内容都没有。首先创建数据库类,每次新登录的用户创建不同的数据库:public class KengOpenHelper extends SQLiteOpenHelper{ private static String DB_NAME_ = "user_"; private static int versio
2016-08-18 13:40:23 293
原创 十七、自定义进度对话框
当用户进行需要等待一段时间的操作的时候,我们需要给用户一个等待的反馈,不然用户会以为你的APP卡死了,一般会用一个圆圈来转,但是系统提供的圆圈实在是太丑,所以我自定义一个进度对话框。进度对话框由两部分组成,一个转的圆圈,和提示文字,布局如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2016-08-17 17:38:07 407
原创 十六、自定义联系人导航(下)---RecyclerView增加头部和事件监听
在listview中我们可以很方便的增加头部view,但是RecyclerView并没有给我们提供相应的方法,而且比较坑的一点,RecyclerView没有提供ItemClickListener方法,需要我们自己去实现,既然RecyclerView提供了灵活性,那么有些事情就需要我们自己去实现了。一、增加头部view其实我这里实现方法是直接把头部放在RecyclerView的item,因为
2016-08-16 21:01:20 603
原创 十五、自定义联系人导航(中)---带悬停的联系人列表
上一篇我们实现了首字母导航,滑动停止后跳转到相应的联系人分组: mTextNavigationView.setNavigationListener(new TextNavigationView.NavigationListener() { @Override public void onSelect(String text) {
2016-08-16 16:13:39 1071
原创 十四、自定义联系人导航(上)---字母导航栏
联系人的界面需求是这样的:所有的联系人以首字母分组,右边是字母导航栏,滑动或者单击相应的字母,跳转到对应的分组。首先实现这个自定义字母导航栏。public class TextNavigationView extends View{ private int mWidth, mHeight; // 控件宽高 private int position = -1; // 点击位
2016-08-15 20:54:41 1206
原创 ListView异步加载图片混乱问题
ListView加载多个图片的时候,图片是异步加载的,当item数量多于一屏时,滑动ListView,后面的item在加载图片的时候会混乱。问题原因是ListView的item复用问题,ListView不会每次都去创建新的item,而是尽量复用之前的item,这就会导致item上图片混乱的问题,也许image对应的position已经改变了,但是它还是去加载以前的bitmap,所以我们要保
2016-08-15 13:22:55 582
原创 android多图片缓存
在android的ListView或者GridView中加载大量图片是非常痛苦的,特别是从网络或者其他地方异步加载,需要一个下载的过程,不可能每次滑动页面都要去重新下载图片,这时候缓存就显得尤为重要了。我的需求是:显示所有视频的缩略图,并且显示视频时长。获取视频缩略图的代码:public static Bitmap getVideoThumbnail(String filePath)
2016-08-15 13:16:14 340
原创 十三、签到和小红点功能
当天如果未签到,则在签到的按钮右上角显示一个小红点,点击后红点消失。在主页的fragment创建时判断今天有没有签到,没有签到则显示小红点: private void initData() { if (!SignUtil.isSignedToday()) { // 今日没有签名则显示小圆点 mTitleBarView.s
2016-08-13 20:04:20 616 6
原创 十二、空白页
当某个页面无内容时,我们需要展示一个空白页给用户,用户才知道是没有加载出内容,点击空白页可以刷新页面。自定义空白页面,经过前篇的自定义控件,写一个自定义空白页应该很简单了:public class EmptyView extends LinearLayout{ private ImageView emptyImageView; private TextView empty
2016-08-13 15:38:07 370
原创 十一、主页fragment
主界面我使用一个MainActivity来控制,4个tab页面分别采用4个fragment来切换,这样每个页面都是单独的存在,逻辑也是相互独立的。定义一个基类fragment,所有的fragment都继承自它:public class BaseFragment extends Fragment{ protected View view; public void setM
2016-08-13 14:24:21 263
原创 十、自定义标题栏
应用中的标题栏都是统一风格的,为了方便使用,我们统一封装自定义标题栏控件,主要用到自定义属性的内容。标题栏的java代码:public class TitleBarView extends RelativeLayout{ private TextView leftTextView; private TextView titleTextView; private T
2016-08-13 13:45:35 403
原创 九、自定义Tab
现在流行的主界面都是底部有几个tab,点击切换到不同的页面,下面我们自定义这个tab控件。采用最简单的自定义控件的方法,继承自android自带控件,继承LinearLayout即可满足要求。public class KengTabHost extends LinearLayout implements View.OnClickListener{ private int tabN
2016-08-12 21:15:35 368
原创 八、三方登录
三方登录采用友盟SDK,选择SDK类别的时候,选“U-Share分享“,因为分享有带登录的功能,没有专门的三方登录SDK。集成过程就不用说了,按照文档一步步来。遇到一些问题:1、三方登录的昵称有汉字,传到服务器后台的时候是正常的,但是保存到数据库的时候乱码这是由于mysql设置的问题导致的,找到mysql安装目录下的my.ini 配置文件,服务器采用gbk编码,数据库采用utf
2016-08-11 17:22:51 358
原创 activity从底部弹出动画
要实现activity从底部弹出的动画,一般参考这篇博文就能实现:http://blog.csdn.net/spy19881201/article/details/5861193但是我的需要还有点特殊,同一个activity,在正常情况下是按系统默认的方式打开,但在特殊情况下(收到通知后点击打开该页面)是从底部弹出的,所以就不能在xml文件中写死theme属性,如果用java代码实现也有问
2016-08-02 11:33:00 8982 1
android可暂停的录制视频(修复秒拍闪退)
2016-10-21
自定义输入框--输入法与表情面板切换
2016-09-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人