类似ios的用户体验


        最近在学习的路上一路狂奔,觉得自己棒棒哒!不过也会偶尔伤神,大学真的玩的太过了,但是后悔也没用。从现在起学习吧!最近几天在各个博客逛逛,发现了一些自己感兴趣并且觉得有用的知识点,在这里就总结一下吧。万一以后用的到呢!比较现在越来越健忘了。废话就说到这里了,严肃起来。

      

1.ios打开很多应用,导航栏和状态栏都和应用融为一体了有木有,感觉棒棒哒有木有!不用羡慕啦,Goolge在4.4页添加了透明状态栏和透明导航栏功能。

先看我盗的图的效果。


具体使用就说在代码中加入代码:

  1. //透明状态栏  
  2. getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  
  3. //透明导航栏  
  4. getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);  


要设置状态栏颜色之类的可以直接在布局文件中设置但是必须加入代码如下:(只需要在控件中设置下面的属性,状态栏颜色就会与其一致)

  1. android:fitsSystemWindows="true"  
  2. android:clipToPadding="true"  

      我呢,在用的时候有控件中的内容与状态栏内容重叠的现象,所以在添加属性的时候可以添加在最外层控件,总之自己多试试,总会出现自己想要的效果的。



2.在很多时候我们想要去监听ScrollView的滚动的事件,可是悲伤的是它并不像listview那样有那么多的监听事件。这里呢我们就可以重写ScrollView你会发现它还是有一个监听事件 onScrollChanged可用的。我们只要重写这个方法,然后就可以得到一个有滑动事件监听的 ScrollView了。这个的主要用途就是为了实现类似一些ScrollView内部的组件需要在ScrollView滑动的时候到某种想要的状态时候做出一些想要的效果而去重写的。

给大家看一个我重写的吧!

    public class MyScrollView extends ScrollView {
    private OnScrollListener onScrollListener;


    public MyScrollView(Context context) {
    this(context, null);
    }


    public MyScrollView(Context context, AttributeSet attrs) {
    this(context, attrs, 0);
    }


    public MyScrollView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    }


    /**
     * 设置滚动接口
     * 
     * @param onScrollListener
     */
    public void setOnScrollListener(OnScrollListener onScrollListener) {
    this.onScrollListener = onScrollListener;
    }



    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    super.onScrollChanged(l, t, oldl, oldt);
    if (onScrollListener != null) {
    onScrollListener.onScroll(t);
    }
    }


    /**
     * 
     * 滚动的回调接口
     * 
     * @author xiaanming
     * 
     */
    public interface OnScrollListener {
    /**
     * 回调方法, 返回MyScrollView滑动的Y方向距离
     * 
     * @param scrollY 、
     */
    public void onScroll(int scrollY);
    }


    }

好啦,不玩啦,要干活了。再见。

你可能感兴趣的:(类似ios的用户体验)