
Android基础
文章平均质量分 77
lenovo_2017
这个作者很懒,什么都没留下…
展开
-
微信支付客户端实现流程
前期准备: 1)注册微信开放平台账号 2)认证开发者资质 3)创建APP并提交审核1)2)3)三个流程约7个工作日; 4)提交资料申请微信支付5)启动设计和开发4)5)约3~7个工作日;6)开户成功,登录商户平台进行验证7)在线签署协议8)成功接入微信支付原创 2017-10-17 14:03:35 · 967 阅读 · 0 评论 -
ImageView(图像视图)-src属性和background属性的区别:
在API文档中我们发现ImageView有两个可以设置图片的属性,分别是:src和background常识:①background通常指的都是背景,而src指的是内容!!②当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸1)写代码验证区别:写个简单的布局测试下: xml转载 2017-09-09 15:31:49 · 664 阅读 · 0 评论 -
ImageView(图像视图)-解决blackground拉伸导致图片变形的方法
在前面的效果图中的第二个Imageview中我们可以看到图片已经被拉伸变形了,正方形变成了长方形,对于和我一样有轻微强迫症的人来说,显然是不可接受的,有没有办法去设置呢?答案肯定是有的,笔者暂时知道的有以下两种方式:这个适用于动态加载ImageView的,代码也渐渐,只要在添加View的时候,把大小写死就可以了LinearLayout.LayoutParams layoutPara转载 2017-09-09 15:34:06 · 1982 阅读 · 0 评论 -
ImageView(图像视图)-Java代码中设置blackground和src属性:
前景(对应src属性):setImageDrawable( );背景(对应background属性):setBackgroundDrawable( );转载 2017-09-11 09:26:02 · 2215 阅读 · 0 评论 -
ImageView(图像视图)-adjustViewBounds设置缩放是否保存原图长宽比
ImageView为我们提供了adjustViewBounds属性,用于设置缩放时是否保持原图长宽比!单独设置不起作用,需要配合maxWidth和maxHeight属性一起使用!而后面这两个属性也是需要adjustViewBounds为true才会生效的~android:maxHeight:设置ImageView的最大高度android:maxWidth:设置ImageView的最大宽度转载 2017-09-09 16:27:07 · 697 阅读 · 0 评论 -
scaleType设置缩放类型
android:scaleType用于设置显示的图片如何缩放或者移动以适应ImageView的大小Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置~可选值如下:fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变fitStart:保持纵横比缩放图片,转载 2017-09-09 16:38:58 · 2234 阅读 · 0 评论 -
Android:dimen尺寸资源文件的使用
dimen.xml在values文件夹下面resources> Default screen margins, per the Android Design guidelines. --> dimen name="btn_width">16dpdimen> dimen name="btn_height">16dpdimen>resources>布局中的使转载 2017-09-09 11:07:56 · 1780 阅读 · 0 评论 -
StateListDrawable简介
StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景! 可以设置的属性:drawable:引用的Drawable位图,我们可以把他放到最前面,就表示组件的正常状态~state_focuse转载 2017-09-09 10:44:05 · 430 阅读 · 0 评论 -
Android样式的开发:Style篇
前面铺垫了那么多,终于要讲到本系列的终篇,整合所有资源,定义成统一的样式。哪些该定义成统一的样式呢?举几个例子吧:每个页面标题栏的标题基本会有一样的字体大小、颜色、对齐方式、内间距、外间距等,这就可以定义成样式;很多按钮也都使用一致的背景、内间距、文字颜色、文字大小、文字的对齐方式等,这也可以定义成样式;网络加载的进度条基本也都是一样的,同样可以定义成样式;不喜欢系统的弹出框样式,那也转载 2017-09-09 10:33:03 · 252 阅读 · 0 评论 -
Android样式的开发:Property Animation篇
前篇文章说过,Android框架还提供了两种动画体系,前一篇已经总结了视图动画(View Animation)的用法,本篇则接着总结另一种动画体系——属性动画(Property Animation)的用法。视图动画只能作用于View,而且视图动画改变的只是View的绘制效果,View真正的属性并没有改变。比如,一个按钮做平移的动画,虽然按钮的确做了平移,但按钮可点击的区域并没随着平移而改变,还转载 2017-09-09 10:31:50 · 252 阅读 · 0 评论 -
Android样式的开发:View Animation篇
drawable汇总篇讲过两个动画,animation-list定义帧动画,animated-rotate定义旋转动画,这两个属于drawable动画。除了drawable动画,Android框架还提供了另外两种动画体系:视图动画(View Animation)和属性动画(Property Animation)。视图动画比较简单,只能应用于各种View,可以做一些位置、大小、旋转和透明度的简单转载 2017-09-09 10:30:27 · 285 阅读 · 0 评论 -
Android样式的开发:drawable汇总篇
Android有很多种drawable类型,除了前几篇详细讲解的shape、selector、layer-list,还有上一篇提到的color、bitmap、clip、scale、inset、transition、rotate、animated-rotate、lever-list等等,本篇文章将汇总介绍所有剩下的drawable资源。普通图片图片是最常用的drawable资源,格式包括:p转载 2017-09-09 10:28:22 · 324 阅读 · 0 评论 -
Android样式的开发:layer-list篇
上图Tab的背景效果,和带阴影的圆角矩形,是怎么实现的呢?大部分的人会让美工切图,用点九图做背景。但是,如果只提供一张图,会怎么样呢?比如,中间的Tab背景红色底线的像素高度为4px,那么,在mdpi设备上显示会符合预期,在hdpi设备上显示时会细了一点点,在xhdpi设备上显示时会再细一点,在xxhdpi上显示时又细了,在xxxhdpi上显示时则更细了。因为在xxxhdpi上,1dp=4px,所转载 2017-09-09 10:26:56 · 249 阅读 · 0 评论 -
实现Material Design水波效果的Button
如果你的Android手机是5.0以上的系统,相信对下面这种按钮点击效果并不会陌生:实现效果图:快的那个是按下后的效果,慢的是长按后的效果!实现逻辑:1.我们继承ImageButton,当然你可以换成Button或者View,这里笔者想把龟放到中间才继承ImageButton2.首先,创建两个Paint(画笔)对象,一个绘制底部背景颜色,一个绘制波纹扩散的3.接着计算最转载 2017-09-09 13:50:03 · 884 阅读 · 0 评论 -
开关按钮ToggleButton和开关Switch
本节给大家介绍的Android基本UI控件是:开关按钮ToggleButton和开关Switch,可能大家对着两个组件并不熟悉,突然想起笔者的第一间外包公司,是否在wifi下联网的开关,竟然用的TextView,然后叫美工且两个切换前后的图,然后代码中进行设置,当然点击TextView的时候判断状态,然后设置对应的背景...好吧,也是醉了,好吧...本节讲解的两个其实都是开关组件,只是后者需要转载 2017-09-11 11:56:45 · 413 阅读 · 0 评论 -
res下的anim和animator文件夹
anim文件夹下存放tween animation和frame animation;xml文件里只有scale、rotate、translate、alpha、set五个标签;在代码中使用AnimationUtils.loadAnimation()方法加载;使用mView.setAnimation(mAnimation)为mView加载动画;使用mView.startAnimation()开启动画;转载 2017-09-11 13:28:20 · 597 阅读 · 0 评论 -
基于高德开放平台SDK的定位Demo
第1步: 在高德开放平台添加应用,添加新Key,获取Key值;第2步: 下载高德地图SDK、高德定位SDK,将其中的jar包添加到Android Studio工程下的libs目录下,并添加与当前应用的依赖关系;第3步: 在AndroidManifest.xml文件中添加地图和定位使用的相关权限;地图包、搜索包需要的原创 2017-10-17 13:42:54 · 2199 阅读 · 0 评论 -
Date & Time组件(下)-DatePicker(日期选择器)
本节我们来继续学习Android系统给我们提供的几个原生的Date & Time组件,他们分别是:DatePicker(日期选择器),TimePicker(时间选择器),CalendarView(日期视图),好吧,其实一开始让我扣这几个玩意我是拒绝的,因为在我的印象里,他们是这样的:简直把我丑哭了,有木有,终于知道为什么那么多人喜欢自定义这种类型的控件了!但是毕竟提纲上写了,自己写的提纲,转载 2017-09-12 10:36:11 · 590 阅读 · 0 评论 -
Vibrator(振动器)
本节我们介绍的是Vibrator(振动器),是手机自带的振动器,别去百度直接搜针振动器,因为你的搜索结果可能是如图所示的神秘的道具,或者其他神秘道具:嗯,说回本节介绍的Vibrator,其实就是Android给我们提供的用于机身震动的一个服务!比如前面我们的Notification中可以设置震动,当收到推送消息的时候我们可以设置震动提醒,游戏必备,比如"打飞机"的游戏,当你的飞机给人打爆的时候转载 2017-09-11 18:33:19 · 851 阅读 · 0 评论 -
Chronometer(计时器)
如题,就是一个简单的计时器,我们直接上使用示例吧:使用示例:实现代码:布局代码: xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"转载 2017-09-11 17:45:16 · 282 阅读 · 0 评论 -
ScrollView(滚动条)-
本节带来的是Android基本UI控件中的第十个:ScrollView(滚动条),或者我们应该叫他竖直滚动条,对应的另外一个水平方向上的滚动条:HorizontalScrollView,先来一发官方文档的链接:ScrollView,我们可以看到类的结构如下:嘿嘿,原来是一个FrameLayout的容器,不过在他的基础上添加了滚动,允许显示的比实际多的内容!另外,只能够往里面放置一个子元转载 2017-09-11 16:26:20 · 384 阅读 · 0 评论 -
RatingBar(星级评分条)-定制环节:
嘿嘿,我们很多时候不会用星星作为评分标准的,我们来改改呗~把星星改成其他的,比如笑脸,两个素材:接下来和前面的SeekBar一样编写一个layer-list的文件:ratingbar_full.xml:xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res转载 2017-09-11 15:39:42 · 296 阅读 · 0 评论 -
RatingBar(星级评分条)-RatingBar基本使用:
上一节的SeekBar是不是很轻松咧,本节我们学的这个RatingBar(星级评分条)也非常简单,相信在某宝,买过东西的对这个应该不陌生,收到卖家的包裹,里面很多时候会有个小纸片,五星好评返还多少元这样,而评分的时候就可以用到我们这个星级评分条了~先来瞅瞅官方文档官方文档:RatingBar我们可以看到,这玩意和SeekBar的类结构是一样的,也是ProgressBar的子类:也就是说他同转载 2017-09-11 15:26:04 · 811 阅读 · 0 评论 -
SeekBar(拖动条)-简单SeekBar定制
本来还想着自定义下SeekBar的,后来想想,还是算了,涉及到自定义View的一些东西,可能初学者并不了解,看起来也有点难度,关于自定义View的还是放到进阶那里吧,所以这里就只是简单的定制下SeekBar!定制的内容包括滑块,以及轨道!代码实例:运行效果图:代码实现:1.滑块状态Drawable:sb_thumb.xmlxml version="1.0" encoding转载 2017-09-11 15:07:23 · 693 阅读 · 0 评论 -
SeekBar(拖动条)-SeekBar基本用法
本节我们继续来学习Android的基本UI控件中的拖动条——SeekBar,相信大家对他并不陌生,最常见的地方就是音乐播放器或者视频播放器了,音量控制或者播放进度控制,都用到了这个SeekBar,我们先来看看SeekBar的类结构,来到官方文档:SeekBar嘿嘿,这玩意是ProgressBar的子类耶,也就是ProgressBar的属性都可以用咯!而且他还有一个自己的属性就是:andro转载 2017-09-11 14:50:24 · 1112 阅读 · 0 评论 -
ProgressBar(进度条)-自定义圆形进度条
相信你看完2会吐槽,卧槽,这么坑爹,拿个动画来坑人,哈哈,实际开发中都这样,当然上述这种情况只适用于不用显示进度的场合,如果要显示进度的场合就没用处了,好吧,接下来看下网上一个简单的自定义圆形进度条!代码还是比较简单,容易理解,又兴趣可以看看,或者进行相关扩展~运行效果图:实现代码:自定义View类:/** * Created by Jay on 2015/8/5 000转载 2017-09-11 14:22:20 · 788 阅读 · 0 评论 -
ProgressBar(进度条)-使用动画来替代圆形进度条
第一个方案是,使用一套连续图片,形成一个帧动画,当需要进度图的时候,让动画可见,不需要的时候让动画不可见即可!而这个动画,一般是使用AnimationDrawable来实现的!好的,我们来定义一个AnimationDrawable文件:PS:用到的图片素材:进度条图片素材打包.zip运行效果图:实现步骤:在res目录下新建一个:anim文件件,然后创建amin_pgbar.xml的转载 2017-09-11 14:21:03 · 1266 阅读 · 0 评论 -
ProgressBar(进度条)-常用属性讲解与基础实例
本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用到进度条;或者当在进行一些比较耗时的操作,需要等待一段较长的时间,这个时候如果没有提示,用户可能会以为程序Carsh或者手机死机了,这样会大大降低用户体验,所以在需要进行耗时操作的地方,添加上进度条,让用户知道当前转载 2017-09-11 14:19:50 · 5888 阅读 · 0 评论 -
Android样式的开发:selector篇
上一篇详细讲了shape的用法,讲解了怎么用shape自定义矩形、圆形、线形和环形,以及有哪些需要注意的地方。不过,shape只能定义单一的形状,而实际应用中,很多地方比如按钮、Tab、ListItem等都是不同状态有不同的展示形状。举个例子,一个按钮的背景,默认时是一个形状,按下时是一个形状,不可操作时又是另一个形状。有时候,不同状态下改变的不只是背景、图片等,文字颜色也会相应改变。而要处理这些转载 2017-09-09 10:25:44 · 268 阅读 · 0 评论 -
Android样式的开发:shape篇
一个应用,应该保持一套统一的样式,包括Button、EditText、ProgressBar、Toast、Checkbox等各种控件的样式,还包括控件间隔、文字大小和颜色、阴影等等。web的样式用css来定义,而android的样式主要则是通过shape、selector、layer-list、level-list、style、theme等组合实现。我将用一系列文章,循序渐进地讲解样式的每个方面该转载 2017-09-09 10:22:52 · 291 阅读 · 0 评论 -
ListView之checkbox错位问题解决
作为ListView经典问题之一,如果你尝试过自定义ListView的item,在上面带有一个checkbox的话,那么当你的item数超过了一页的话,就会出现这个问题,下面我们来分析下出现这种问题的原因,以及如何来解决这个问题!1.问题发生的原因:这是网上找来的一幅关于ListView getView方法调用机制的一个图上图中有一个Recycler的东东,平时我们List转载 2017-09-13 14:07:45 · 562 阅读 · 0 评论 -
使用ListView无数据时,使用ListView的setEmptyView(View emptyView)方法设置空白页面
ListView无数据时,使用ListView的setEmptyView(View emptyView)方法设置空白页面的简单实现原创 2017-09-13 15:34:18 · 511 阅读 · 0 评论 -
ListView的数据更新问题
我们前面已经学习了ListView的一些基本用法咧,但是细心的你可能发现了,我们的数据一开始定义好的,都是静态的,但是实际开发中,我们的数据往往都是动态变化的,比如我增删该了某一列,那么列表显示的数据也应该进行同步的更新,那么本节我们就来探讨下ListView数据更新的问题,包括全部更新,以及更新其中的一项,那么开始本节内容!~1.先写个正常的demo先好的,先写个正常的Dem转载 2017-09-13 17:38:26 · 359 阅读 · 0 评论 -
Date & Time组件(下)-TimePicker(时间选择器)
先来看看5.0的TimePicker长什么样:样子还是蛮标致的哈,我们发现官方给我们提供的属性只有一个:android:timePickerMode:组件外观,同样可选值为:spinner和clock(默认)前者是旧版本的TimePicker~而他对应的监听事件是:TimePicker.OnTimeChangedListener下面来个代码示例:public class Mai转载 2017-09-12 10:49:45 · 443 阅读 · 0 评论 -
Date & Time组件(下)-CalendarView(日历视图)
好的,一样是看看样子先:嗯,好像变化不大,接下来我们简单的看下文档中给我们提供的属性:android:firstDayOfWeek:设置一个星期的第一天android:maxDate :最大的日期显示在这个日历视图mm / dd / yyyy格式android:minDate:最小的日期显示在这个日历视图mm / dd / yyyy格式android:weekDayTextAp转载 2017-09-12 10:58:44 · 527 阅读 · 0 评论 -
Adapter基础讲解-MVC模式的简单理解和Adapter概念解析
从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要,Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式显示到view上,提供给用户看!1.MVC模式的简单理解在开始学习Adapter之前我们要来了解下这个MVC模式概念:举个例子:大型的商业程序通常由多人一同开发完成,比如有人负责操作接口的规划转载 2017-09-12 11:51:00 · 766 阅读 · 0 评论 -
Adapter基础讲解-ArrayAdapter使用示例
1)ArrayAdapter使用示例:运行效果图:代码实现:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance转载 2017-09-12 11:53:28 · 1148 阅读 · 0 评论 -
Adapter基础讲解-SimpleAdapter使用示例:
SimpleAdapter:简单的Adapter,看似简单,功能强大,下面我们来写个稍微复杂一点的列表布局吧!运行效果图:代码实现:先来编写一个列表项目每一项的布局:list_item.xmlxml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/andr转载 2017-09-12 14:02:38 · 506 阅读 · 0 评论 -
Adapter基础讲解-SimpleCursorAdapter使用示例
虽然这东西过时了,不过对于不怎么会SQLite的初学者来说,用起来还是蛮方便的!记得前面我们学ContentProivder写过的读取联系人的例子么?之前是通过打印Log的方式显示出来,现在我们通过这个SimpleCursorAdapter把它显示到ListView上!实现效果图:代码实现:先写下listView每个item的布局:list_item.xml:xml ver转载 2017-09-12 16:41:25 · 528 阅读 · 0 评论 -
ListView简单实用-自定义BaseAdapter,然后绑定ListView的最简单例子
本节我们来继续学习没有讲完的UI控件部分,回顾上一节,我们介绍了Adapter适配器的概念,然后学习了三个最简单的适配器的使用:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter,而本节给大家讲解的是第一个需搭配Adapter使用的UI控件:ListView,不过在版本中被RecyclerView这个新控件替换掉了!列表作为最常用的控件之一,还是有转载 2017-09-12 18:18:34 · 655 阅读 · 0 评论