ListView

基本使用

布局问题

嵌套问题

分组问题

界面美化

标题栏渐变

  • ScrollView

  • ListView

  • RecycleView

  • 其它具有滚动性质的控件

ListView标题栏渐变

private final int DISTANCE = 500;//滑动的最大位移  

mListView.setOnScrollListener(new AbsListView.OnScrollListener() {  
    @Override  
    public void onScrollStateChanged(AbsListView view, int scrollState) {  

    }  

    @Override  
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {  
        lastVisibleCount = firstVisibleItem + visibleItemCount;  
        int offset = 0;  
        if (firstVisibleItem == 0) {  
            View firstItem = mListView.getChildAt(0);  
            if (firstItem != null) {  
                offset = 0 - firstItem.getTop();  
            }  
        } else {  
            offset = DISTANCE;  
        }  

        float percent = (offset * 1f) / (DISTANCE * 1f) ;  
        if (percent >= 0 && percent <= 1) {  
            textView.setAlpha(percent);  
        }  

        Log.v("tag_2", "percent = " + percent);  
    }  
});

水波纹效果

两种方式:系统自带的水波纹实现自定义水波纹实现

android:background="?android:attr/selectableItemBackgroundBorderless"

item
android:background="?android:attr/selectableItemBackgroundBorderless"
或者
android:background="?android:attr/selectableItemBackground"

作者:匿名用户
链接:https://www.zhihu.com/question/36639878/answer/68448013
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

参考:

Last updated

Was this helpful?