Android仿京东搜索框渐变效果

所属分类: 软件编程 / Android 阅读数: 44
收藏 0 赞 0 分享

在许多APP中,有的搜索框是一直固定的,有的呢,附加了很多的效果,就比如京东

好吧,谁让京东那么厉害呢,不说了,开始高仿!

原理:就是自定义scrollview实现对滑动高度的监听而已,如此实现对搜索框的渐变

先贴上我的自定义scrollview

//自定义ScrollView
public class CustomView extends ScrollView {

 public interface ScrollViewListener {
 void onScrollChanged(CustomView customView, int x, int y, int oldx, int oldy);
 }

 private ScrollViewListener scrollViewListener = null;

 public CustomView(Context context) {
 super(context);
 }

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

 public CustomView(Context context, AttributeSet attrs) {
 super(context, attrs);
 }

 public void setScrollViewListener(ScrollViewListener scrollViewListener) {
 this.scrollViewListener = scrollViewListener;
 }

 @Override
 protected void onScrollChanged(int x, int y, int oldx, int oldy) {
 super.onScrollChanged(x, y, oldx, oldy);
 if (scrollViewListener != null) {
  scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
 }
 }
}

好了,接下来就直接在逻辑代码中调用就行了!

 @Override
 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
 super.onViewCreated(view, savedInstanceState);
 //搜索框在布局最上面
 line.bringToFront();
 mScrollview.setScrollViewListener(new CustomView.ScrollViewListener() {
  @Override
  public void onScrollChanged(CustomView customView, int x, int y, int oldx, int oldy) {
  if (y <= 0) {
   line.setBackgroundColor(Color.argb((int) 0, 227, 29, 26));//AGB由相关工具获得,或者美工提供
  } else if (y > 0 && y <= imageHeight) {
   //获取ScrollView向下滑动图片消失的比例
   float scale = (float) y / imageHeight;
   //更加这个比例,让标题颜色由浅入深
   float alpha = (255 * scale);
   // 只是layout背景透明
   line.setBackgroundColor(Color.argb((int) alpha, 255, 255, 255));
  }
  }
 });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android实现信号强度监听的方法

这篇文章主要介绍了Android实现信号强度监听的方法,是Android手机中很常见的一个实用功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android实现Activity界面切换添加动画特效的方法

这篇文章主要介绍了Android实现Activity界面切换添加动画特效的方法,非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中Dialog去黑边的方法

这篇文章主要介绍了Android中Dialog去黑边的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt for Android开发实例教程

这篇文章主要介绍了Qt for Android开发的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之时间日期操作实例

这篇文章主要介绍了Android开发之时间日期操作,是Android程序开发中常见的一个功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之时间日期组件用法实例

这篇文章主要介绍了Android开发之时间日期组件用法,主要介绍了TimePicker和DatePicker组件,对于Android程序开发有不错的借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之获取网络链接状态

这篇文章主要介绍了Android获取网络链接状态的方法,主要是通过ConnectivityManager类来完成的,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之广播机制浅析

这篇文章主要介绍了Android开发之广播机制浅析,主要包括了发布、接收及配置广播的实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之登录验证实例教程

这篇文章主要介绍了Android开发之登录验证实现方法,包括发送数据、服务器端验证、配置文件等,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之注册登录方法示例

这篇文章主要介绍了Android开发的注册登录方法,是针对Android程序设计中版本兼容性的进一步完善,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多