Android仿京东搜索框渐变效果

 更新时间:2019年06月15日 14:22:58   作者:AND_Devil  
这篇文章主要为大家详细介绍了Android仿京东搜索框渐变效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在许多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使用Intent传大数据简单实现详解

    Android使用Intent传大数据简单实现详解

    这篇文章主要为大家介绍了Android使用Intent传大数据简单实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Android中DrawerLayout+ViewPager滑动冲突的解决方法

    Android中DrawerLayout+ViewPager滑动冲突的解决方法

    这篇文章主要为大家详细介绍了Android中DrawerLayout+ViewPager滑动冲突的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android利用GridView实现单选功能

    Android利用GridView实现单选功能

    这篇文章主要为大家详细介绍了Android利用GridView实现单选功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android蓝牙服务启动流程分析探索

    Android蓝牙服务启动流程分析探索

    这篇文章主要介绍了Android蓝牙服务启动流程,了解内部原理是为了帮助我们做扩展,同时也是验证了一个人的学习能力,如果你想让自己的职业道路更上一层楼,这些底层的东西你是必须要会的
    2023-01-01
  • Kotlin学习笔记之const val与val

    Kotlin学习笔记之const val与val

    这篇文章主要给大家介绍了关于Kotlin学习笔记之const val与val的相关资料,并给大家介绍了const val和val区别以及Kotlin中var和val的区别,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-05-05
  • Flutter Widget移动UI框架使用Material和密匙Key实战

    Flutter Widget移动UI框架使用Material和密匙Key实战

    这篇文章主要为大家介绍了Flutter Widget移动UI框架使用Material和密匙Key实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android高仿QQ6.0侧滑删除实例代码

    Android高仿QQ6.0侧滑删除实例代码

    先给大家分享一下,侧滑删除,布局也就是前面一个item,然后有两个隐藏的按钮(TextView也可以),然后我们可以向左侧滑动,然后显示出来,然后对delete(删除键)实现监听,就可以了哈。好了那就来看看代码怎么实现的吧
    2016-02-02
  • Android自定义view仿iOS弹出框效果

    Android自定义view仿iOS弹出框效果

    这篇文章主要为大家详细介绍了Android自定义view仿iOS弹出框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 基于Android开发支持表情的实现详解

    基于Android开发支持表情的实现详解

    本篇文章是对在Android开发中支持表情的实现代码进行了介绍。需要的朋友参考下
    2013-05-05
  • Android自定义覆盖层控件 悬浮窗控件

    Android自定义覆盖层控件 悬浮窗控件

    这篇文章主要为大家详细介绍了Android自定义覆盖层控件和悬浮窗控件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论