android基础
tianchong89
这个作者很懒,什么都没留下…
展开
-
注册
定义布局文件:<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/a原创 2016-12-22 14:44:33 · 216 阅读 · 0 评论 -
设计模式:建造者模式
建站者模式(Builder):将一个复杂的对象与它的表示分离,使得同样的构建过程可以创建不同的表示。 模型: 主要用于复杂的对象,这些对象内部的构建顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。原创 2017-06-14 22:11:08 · 156 阅读 · 0 评论 -
android中对观察者模式的使用,Adapter中的观察者
java原型: 其中adapter 中用到的观察者模式原创 2017-06-20 17:41:13 · 280 阅读 · 0 评论 -
设计模式:观察者模式
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个对象。这个主题对象在状态发生时,会通知所有观察者对象,使它们能够自动更新自己具体操作原创 2017-06-20 14:21:32 · 178 阅读 · 0 评论 -
设计模式:适配器模式
适配器模式:将一个类的接口转换成客户端希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能工作的那些类可以一起工作。 目标接口:客户端所期待的接口,目标是举起或者抽象的类,也可以是接口 适配器:通过内部包装一个Adaptee对象,把原接口转换成目标接口 需要适配的对象:需要适配的类具体例子:原创 2017-06-18 21:35:01 · 179 阅读 · 0 评论 -
TabLayout的使用
1、布局配置<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height=原创 2017-04-25 10:15:42 · 301 阅读 · 0 评论 -
学习笔记:View动画
安卓三种动画:View动画、帧动画、属性动画。 View动画的种类:TranslateAnimation、ScaleAnimation、RotateAnimation、AlphaAnimation四种 AnimationSet表示若干个动画的集合 Xml表示法 1、路径:res/anim/filename.xml 2、表示法: 3、元素解原创 2017-06-06 14:23:29 · 172 阅读 · 0 评论 -
retrofit的使用,
官网:http://square.github.io/retrofit/1、定义接口:public interface SentenceService { @GET("/meitumeiju/") Call<ResponseBody> loadMeiju( @Query("page") String page); @GET("/meitumeiju/{type}/")原创 2017-05-04 10:16:12 · 220 阅读 · 0 评论 -
Retrofit的使用
retrofit是对okhttp做了一层封装。 导包: compile 'com.squareup.retrofit2:retrofit:+' compile 'com.google.code.gson:gson:+'查看最新包版本后替换包版本Retrofit需要定义一个接口,用来返回我们的Call对象,示范为GET请求。 @GET("/meitumeiju/") Call<R原创 2017-05-23 14:28:38 · 140 阅读 · 0 评论 -
View的工件原理:认识ViewRoot和DecorView
ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均通过ViewRoot来完成的,在ActivityThread中,当Activity被创建完成毕后,会将DecorView添加到Window中,同时创建ViewRootImpl对象,并将ViewRootImpl对象和DecorView对象建立关联root=new View原创 2017-05-03 16:09:19 · 425 阅读 · 0 评论 -
学习笔记:View的事件体系3:弹性滑动
3种弹性滑动方式的学习 1、使用Scroller 2、使用动画 3、使用延时策略 一、使用ScrollerScroller scroller=new Scroller(mContext);//缓慢滚动到指定位置private void smoothScrollTo(int destX,int destY){ int scrollX=getScrollX(); int d原创 2017-04-19 10:39:27 · 214 阅读 · 0 评论 -
学习笔记:View的事件体系2:View的滑动
3种滑动方式的学习 一:使用scrollTO/scrollBy 二: 通过动画给View施加平移效果 三:通过改变View的LayoutParams使View重新布局从而实现滑动一:使用scrollTo/scrollBy 1:scrollBy实际调用scrollT方法 2:scrollBy实现基于当前位置的相对滑动 3:scrollTo实现基于所瑞传递参数的绝对滑动 4:scroll原创 2017-04-17 14:45:14 · 293 阅读 · 0 评论 -
学习笔记:View的事件体系4:View的事件分发机制
所谓点击事件的事件分发,其实就是对MotionEvent事件的分发过程,即当一个MotionEvent 产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递过程就是事件分发。点击事件的分发过程由三个很重要的方法来共同完成:dispatchTouchEvent,onInterceptTouchEvent和onTouchEvent,public boolean dispathcTouchE原创 2017-04-19 17:23:38 · 239 阅读 · 0 评论 -
学习笔记:View的事件体系
View的基础知识 内容:View的位置参数、MotionEvent、 TouchSlop、VelocityTracker、GestureDetector、Scroller对象1View的位置参数 View的位置主要由四个顶点决定: top、left、right、bottom 根据图可以很容易得出宽高坐标 width=right-left; he原创 2017-04-13 11:54:00 · 234 阅读 · 0 评论 -
另一种fragment切换方式
1:初始化视图,默认开启第一个fragmentprivate void initView() { transaction = getSupportFragmentManager().beginTransaction(); Fragment fragment = getInstanceByIndex(FIRST_FRAGMENT_TRANSACTION);原创 2017-04-13 11:13:02 · 295 阅读 · 0 评论 -
Fragment启动方式
一:通过代码启动 包名:import android.app.FragmentTransaction; 1 、定义一个frameLayout布局 <FrameLayout android:id="@+id/fl_content" android:layout_width="match_parent" android:layout_height="原创 2017-04-12 17:22:42 · 6044 阅读 · 0 评论 -
设计模式:简单工厂
简单工厂模式:又叫静态工厂方法模式,是通过专门定义一个类来负责他的实例,被创建的实例通常都具有共同的父类。 UML模型: 职责: 工厂角色(Creator):负责创建所有类的内部逻辑,工厂类必须能够被外界调用,创建所需要的产品对象 抽象产品:简单工厂模式所创建的父类,这里的父类可以是接口也可以是抽象类,它负描述所所有实例所共有的公共接口。 具体产品角色:简单工厂原创 2017-06-15 14:54:11 · 180 阅读 · 0 评论