William的小星球 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •     

手动实现LinkedList

public class MyLinkedList<T> implements Iterable<T>{ //链表大小 private int size; //修改次数 private int modCount=0; //链表头结点 private Node<T> beginMarker; //链表尾结点 private Node<T> endMarker; //构造方法中清除链表 public MyLinkedList(){ clear();
 2018-02-03   算法   

手动实现ArrayList

import java.util.Iterator; /** * 手动实现的一个ArrayList,封装了数组的一些常用操作**/ public class MyArrayList<T> implements Iterable<T> { //数组默认的长度为10 private static final int DEFAULT_CAPACITY=10; //数组的大小 private int size; //泛型T类型所代表的数组 private T[] theItems; //构造方法用clear()来初始化
 2018-02-03   算法   

单例模式

public class Singleton { /** * 饿汉模式 * 在类加载时就完成了静态对象的初始化,所以类加载较慢,但获取对象的速度较快 * 这种方式基于类加载机制,避免了多线程同步问题。 * 但是由于在类加载的时候就完成了单例对象的实例化,那么如果至始至终从未使用该实例,就造成了内存的浪费 **/ private static Singleton instance = new Singleton(); private Singleton() { } public static Single
 2018-01-30   java设计模式   

ObjectAnimator与AnimatorSet

title: ObjectAnimator实现动画的使用 相对于ValueAnimator,ObjectAnimator显得更加智能,自动,和简便,有时为了实现简单的动画效果,用ObjectAnimator在代码上会更简约。先看一下ValueAnimator最简单的实现: button=findViewById(R.id.btn); //通过ofInt()静态方法来返回一个ValueAnimator实例。 ValueAnimator valueAnimator=ValueAnimator.ofInt(button.getLayoutParams().width,500); //用ValueA
 2018-01-25   Android   

ValueAnimator使用思路

ValueAnimator有三个方法来创建动画,分别是: ofInt(); ofFloat(); ofObject(); 先看ofInt():效果: 思路: 通过ValueAnimaotr.ofInt(startValue,endValue)方法返回一个ValueAnimator对象,再给对象设置各种比如duration,repeatCount,repeatMode,StartDelay的参数。 最关键的是,要设置对象的.addUpdateListener(),该方法只要ValueAnimator传入的那个值在变化,回调方法就会不断地被回调,我们在这里就可以不断地调用更新View或者L
 2018-01-25   Android   

TabLayout简单使用

简单的介绍TabLayout的常规用法效果图: 布局:布局上面就是很简单的采用上面TabLayout下面ViewPager的形式 代码:在xml中声名的viewPager需要调用viewPager.setAdapter(adapter),那么TabLayout需要调用tablayout.setUpwithViewPager(viewPager)思路是: 写findViewById()找到这两个控件。 写一个类MyViewPagerAdapter继承FragmentPagerAdapter,ViewPager里面展示的内容当然的是用的Fragment. 那么就要写我们自己的Fragment类,
 2018-01-22   Android   

CoordinatorLayout配合AppBarLayout、CollapsingToolbarLayout、Toolbar使用

这篇文章主要介绍的是CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout和Toolbar的结合表现出的动态效果。效果如图: 首先介绍上述几个控件在使用的时候的注意点: CoordinatorLayout: 是一个FrameLayout AppBarLayout: 是一个vertical的LinearLayout,其子View应通过setScrollFlags(int)或者xmL中的app:layout_scrollFlags来提供他们的Behavior。 具体的app:layout_scrollFlags有这么几个: scroll,
 2018-01-21   Android   

CoordinatorLayout全面解析

Absfree的文章:彻底搞懂CoordinatorLayout
 2018-01-21   Android   

CoodinatorLayout里放布局问题

CoordinatorLayout是一个FrameLayout,也就是说如果不做特殊处理,里面的子布局是无法控制的,超过一个,就会糊在一起,但是CoordiatorLayout又很特殊,只有在作为layout.xml的顶层布局才能发挥他协调子view的作用。因此要控制他的多个子View,比如除了AppBarLayout之外,要在下面加一个TabLayout或者RecyclerView,就要在他们里面加上app:layout_behavior=""属性 <android.support.v7.widget.RecyclerView android:id=&quo
 2018-01-17   Android   

兼容问题

谷歌安卓官方文档中文教程:维护兼容性 比如: 如果要保留与早期版本 Android 的兼容性,请您在运行时检查系统,然后再为下列的任何一个功能调用 API: // Check if we're running on Android 5.0 or higher if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // Call some material design APIs here } else { // Implement this feature without material d
 2018-01-16   Android   
1…1415161718…21

搜索

Hexo Fluid