Welcome 微信登录

首页 / 移动开发 / Android

安卓输入框被虚拟键盘挡住的问题(微信开发)

安卓输入框被虚拟键盘挡住的问题(微信开发)

先通过一个页面看下事情的来龙去脉,页面如下所示:这个页面刚好一屏幕大小,所以没有滚动条,因为“保存”键上面那个项目备注是需要用户去填写的,当他点击后就会出现虚拟键盘,但安卓手机弹出键盘会遮住这个输入框,以至于用户看不见了。苹果手机天然不会喔,苹果手机的键盘弹出来是占了下面的位置,从而把页面推了上去,整个页面就缩小了就不会出现这样的情况。安卓手机情况如下图:我不停尝试去解决这个问题,但最终都不成功。思考一:如果能模仿苹果一样,当键盘弹出来的时候,将整个页面缩...
Android中使用DialogFragment编写对话框的实例教程

Android中使用DialogFragment编写对话框的实例教程

Android提供alert、prompt、pick-list,单选、多选,progress、time-picker和date-picker对话框,并提供自定义的dialog。在Android 3.0后,dialog基于fragment,并对之前版本提供兼容支持库,也就是说对于开发者而言,dialog是基于DialogFragment的,但此时需要在应用中加入相关的兼容库。和Windows或者网页JS的Dialog不同,Android的dialog是异步的...
Android实现文本排版

Android实现文本排版

在项目中有一个小功能需要实现,就是对多行文本进行排版布局,每一行的内容又分为两部分,左边为标题,右边为描述,左边内容长度不确定,右边的内容需要对齐,如有换行也需要对齐右边的文本。一、效果图可以看到内容分成了两部分,左边的颜色与右边不一致,右边的描述文案统一对齐。二、实现方案 以上功能,由于输入内容输入行数不确定,并且左边的文案长度也不确定,因此不能直接在布局中实现,基于此这里主要实现了以下6种方式方案1 采用自定义控件的方式,继承TextView,重新o...
Android开发之开发者头条(二)实现左滑菜单

Android开发之开发者头条(二)实现左滑菜单

在上篇文章给大家介绍了Android开发之开发者头条(一)启动页实现,感兴趣的朋友可以参考下。title: 带你实现开发者头条(二) 实现左滑菜单tags: 左滑菜单,android 自带侧滑,DrawerLayoutgrammar_cjkRuby: true今天开始模仿开发者头条的侧滑菜单,是本系列第二篇文章,相信大家已经看到很多app使用这种侧滑。今天我来教大家用android自带DrawerLayout控件实现。DrawerLayout是Suppor...
Android 可拖动的seekbar自定义进度值

Android 可拖动的seekbar自定义进度值

最近接了个项目其中有需要要实现此功能:seekbar需要显示最左和最右值,进度要跟随进度块移动。下面通过此图给大家展示下效果,可能比文字描述要更清晰。其实实现起来很简单,主要是思路。自定义控件的话也不难,之前我的博客也有专门介绍,这里就不再多说。实现方案这里是通过继承seekbar来自定义控件,这样的方式最快。主要难点在于进度的显示,其实我很的是最笨的方法,就是用了一个popwindow显示在进度条的上方,然后在移动滑块的时候实时的改变它显示的横坐标。看进...
Android Listview上下拉动刷新tab滑动切换功能

Android Listview上下拉动刷新tab滑动切换功能

近期要做一个含有两个tab切换页面,两个页面有公共的描述信息区域,两个tab都是listview,可以向上或向下拉动刷新,在页面中部有一个tab切换区域,向上滑动的时候tab区域到顶部后就不在移动,向下拉又重新回到初始位置,先看一样样式图吧! 整个需求大致如上图所示,其中上拉刷新和下拉刷新没有截图,采用了开源控件PullToRefreshListView来实现这个效果。 1、总体思路,为了简单不想监控很多手势问题,因此投机取巧的采用下面的方式来实现, a....
Android多个TAB选项卡切换效果

Android多个TAB选项卡切换效果

在前一期中,我们做了悬浮头部的两个tab切换和下拉刷新效果,后来项目中要求改成三个tab,当时就能估量了一下,如果从之前的改,也不是不可以,但是要互相记住的状态就太多了,很容易出现错误。就决定重新实现一下这个效果,为此先写了一个demo,这期间项目都已经又更新了两个版本了。demo还木有变成文章。之前的版本中是采用了一个可以下拉刷新的listview,之后在listview中添加了两个头部,并且在该布局上的上面用了一个一模一样的切换tab,如果没有看过前面...
Android中Property Animation属性动画编写的实例教程

Android中Property Animation属性动画编写的实例教程

1、概述Android提供了几种动画类型:View Animation 、Drawable Animation 、Property Animation 。View Animation相当简单,不过只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。比如:你希望View有一个颜色的切换动画;你希望可以使用3D旋转动画;你希望当动画停止时,View的位置就是当前的位置;这些View Animation都无法做到。这就是Property Anim...
Android中编写属性动画PropertyAnimation的进阶实例

Android中编写属性动画PropertyAnimation的进阶实例

0、基础回顾PropertyAnimation,属性动画,顾名思义就是利用对象的属性变化形成动画的效果。属性动画的类可以用Animator这个抽象类来表示,通常使用它的子类:AnimatorSet和ValueAnimator,同时ValueAnimator有两个子类分别是ObjectAniamtor和TimeAnimator。定义属性动画的XML资源的时候通常可以是如下三个元素之一作为根元素:<set>元素:该资源元素代表的是AniamtorS...
全面总结Android中线程的异步处理方式

全面总结Android中线程的异步处理方式

一、概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。说了这一堆,那么和Handler 、 Looper 、Message有啥关系?其实Looper负责的就是创建一个MessageQu...
Android App中实现图片异步加载的实例分享

Android App中实现图片异步加载的实例分享

一、概述一般大量图片的加载,比如GridView实现手机的相册功能,一般会用到LruCache,线程池,任务队列等;那么异步消息处理可以用哪呢?1、用于UI线程当Bitmap加载完成后更新ImageView2、在图片加载类初始化时,我们会在一个子线程中维护一个Loop实例,当然子线程中也就有了MessageQueue,Looper会一直在那loop停着等待消息的到达,当有消息到达时,从任务队列按照队列调度的方式(FIFO,LIFO等),取出一个任务放入线程...
Android应用中仿今日头条App制作ViewPager指示器

Android应用中仿今日头条App制作ViewPager指示器

一、概述顶部ViewPager指示器的字体变色,该效果图是这样的:大概是今天头条的app,神奇的地方就在于,切换ViewPager页面的时候,顶部指示器改成了字体颜色的变化,个人觉得还是不错的。那么核心的地方就是做一个支持字体这样逐渐染色就可以了,我大概想了32s,扫描了一些可能实现的方案,最终定位了一个靠谱的,下面我就带大家开始实现的征程。实现之前贴一下我们的效果图:1、简单使用效果如上图了,关于颜失色的改变我添加了两个方向,一个是左方向,一个是有方向。...
Android应用中炫酷的横向和环形进度条的实例分享

Android应用中炫酷的横向和环形进度条的实例分享

一、概述最近需要用进度条,秉着不重复造轮子的原则,上github上搜索了一番,看了几个觉得比较好看的ProgressBar,比如:daimajia的等。简单看了下代码,基本都是继承自View,彻彻底底的自定义了一个进度条。盯着那绚丽滚动条,忽然觉得,为什么要通过View去写一个滚动条,系统已经提供了ProgressBar以及属于它的特性,我们没必要重新去构建一个,但是系统的又比较丑,不同版本变现还不一定一样。那么得出我们的目标:改变系统ProgressBa...
Android AlertDialog实现分享对话框/退出对话框/下载对话框

Android AlertDialog实现分享对话框/退出对话框/下载对话框

一.摘要弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框;双击返回按钮,弹窗退出对话框;下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框,都可以直接使用AlertDialog实现,类似的效果如下图:二.AlertDialog基础知识AlertDialog无法直接通过new关键字获取对象,调用方法:new AlertDialog.Builder.create()获取AlertDialog对象,这个时候容易让人疑惑的是:如何...
<< 261 262 263 264 265 266 267 268 269 270 >>