/****页面**/
public class ShowWebImageActivity extends Activity implements ObservableScrollView.ScrollViewListener {@BindView(R.id.personScrollView)ObservableScrollView scrollView;@BindView(R.id.dt_listView)NoScrollListView listView;@BindView(R.id.img_bg)ImageView img_bg;@BindView(R.id.ttTitle)TextView textTitle;private int imageHeight;@BindView(R.id.title)RelativeLayout layout;@BindView(R.id.iv_back)ImageView iv_back;@BindView(R.id.iv_dian)ImageView iv_dian;List<ProductBean> mData = new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);initListeners();setData();CommonlyAdapter adapter = new CommonlyAdapter<ProductBean>(mData, this, R.layout.item) {@Overridepublic void convert(ViewHolderHelper viewHolderHelper, ProductBean item, int position) {viewHolderHelper.setText(R.id.grid_item_label, item.getName());}};listView.setAdapter(adapter);
}private void setData() {ProductBean productBean;for (int i = 0; i < 10; i++) {productBean = new ProductBean();productBean.setName("第" + i + "条");mData.add(productBean);}}private void initListeners() {// 获取顶部图片高度后,设置滚动监听ViewTreeObserver vto = img_bg.getViewTreeObserver();vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {img_bg.getViewTreeObserver().removeGlobalOnLayoutListener(this);imageHeight = img_bg.getHeight();scrollView.setScrollViewListener(ShowWebImageActivity.this);}});}/*** 将dip或dp值转换为px值,保证尺寸大小不变** @param dipValue (DisplayMetrics类中属性density)* @return*/public static int dp2px(Context context, float dipValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dipValue * scale + 0.5f);}@Overrideprotected int attachLayoutRes() {return R.layout.activity_show_web_image;}@Overridepublic void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy) {if (y <= 0) {layout.setBackgroundColor(Color.argb((int) 0, 227, 29, 26));//AGB由相关工具获得,或者美工提供} else if (y > 0 && y <= imageHeight) {float scale = (float) y / imageHeight;float alpha = (255 * scale);// 只是layout背景透明(仿知乎滑动效果)layout.setBackgroundColor(Color.argb((int) alpha, 255, 255, 255));textTitle.setTextColor(Color.rgb(255, 255, 255));textTitle.setText("");iconColorFilter(Color.parseColor("#ffffff"));} else {textTitle.setText("王妃");textTitle.setTextColor(Color.rgb(0, 0, 0));iconColorFilter(Color.parseColor("#000000"));layout.setBackgroundColor(Color.argb((int) 255, 255, 255, 255));}}/*** 标题栏/导航栏icon 颜色改变** @param color*/private void iconColorFilter(int color) {PorterDuffColorFilter colorFilter = new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP);iv_back.setColorFilter(colorFilter);iv_dian.setColorFilter(colorFilter);}@Overridepublic void onScrollStop(boolean isScrollStop) {}
}
/*** 自定义 view 标题栏显示和隐藏*/
public class ObservableScrollView extends ScrollView {public interface ScrollViewListener {void onScrollChanged(ObservableScrollView scrollView, int x, int y,int oldx, int oldy);void onScrollStop(boolean isScrollStop);}private ScrollViewListener scrollViewListener = null;public ObservableScrollView(Context context) {super(context);}public ObservableScrollView(Context context, AttributeSet attrs,int defStyle) {super(context, attrs, defStyle);}public ObservableScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public void setScrollViewListener(ScrollViewListener scrollViewListener) {this.scrollViewListener = scrollViewListener;}@Overrideprotected 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);}}
}

/*****布局******/

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/commonBg"android:orientation="vertical"><include layout="@layout/layout_common_throw"></include><com.whd.demo.widget.view.ObservableScrollViewandroid:id="@+id/personScrollView"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_above="@+id/caddie_vis"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_weight="1"android:scrollbars="none"><LinearLayoutandroid:background="@color/white"android:layout_width="match_parent"android:layout_height="wrap_content"android:focusable="true"android:focusableInTouchMode="true"android:orientation="vertical"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/white"><ImageViewandroid:id="@+id/img_bg"android:layout_width="match_parent"android:layout_height="160dp"android:layout_gravity="center"android:scaleType="centerCrop"android:src="@mipmap/img_person_zhuye" /><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="135dp"><ImageViewandroid:id="@+id/iv_cirlce"android:layout_width="70dp"android:layout_height="70dp"android:layout_marginStart="20dp"android:scaleType="centerCrop"android:src="@mipmap/ic_head" /><RelativeLayoutandroid:id="@+id/rl_ti"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_marginLeft="10dp"android:layout_toEndOf="@+id/iv_cirlce"><LinearLayoutandroid:id="@+id/ll_n"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/name"style="@style/form_key"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginRight="5dp"android:layout_weight="1" /><TextViewandroid:id="@+id/iv_caddie"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/name"android:layout_gravity="center_vertical"android:layout_marginRight="10dp"android:background="@drawable/bg_btn_white_border_normal"android:padding="3dp"android:text="教"android:textSize="10sp" /></LinearLayout><TextViewandroid:id="@+id/tv_caddie_ma"style="@style/form_value"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/ll_n"android:layout_marginLeft="0dp"android:layout_marginTop="5dp"android:gravity="left"android:text="888888"tools:ignore="UnknownId" /></RelativeLayout></RelativeLayout></RelativeLayout><com.whd.demo.widget.NoScrollListViewandroid:id="@+id/dt_listView"android:layout_width="match_parent"android:layout_height="wrap_content"android:scrollbars="none"></com.whd.demo.widget.widget.NoScrollListView></LinearLayout></com.whd.demo.view.ObservableScrollView><RelativeLayoutandroid:id="@+id/title"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal"><ImageViewandroid:id="@+id/iv_back"android:layout_width="45dp"android:layout_height="45dp"android:padding="10dp"android:src="@mipmap/ic_back_white" /><TextViewandroid:id="@+id/ttTitle"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerVertical="true"android:background="#00000000"android:gravity="center"android:text=""android:textColor="@android:color/white"android:textSize="18sp" /><ImageViewandroid:id="@+id/iv_dian"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_marginRight="12dp"android:padding="5dp"android:src="@mipmap/icon_title_point" /><ImageViewandroid:id="@+id/guanfangrenzheng"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toLeftOf="@+id/iv_dian"android:gravity="center"android:src="@mipmap/ic_renzh"android:visibility="visible" /></RelativeLayout>
</RelativeLayout>

个人中心滚动标题渐变颜色相关推荐

  1. [VB.net]绘制具有渐变颜色和防锯齿字体的标题

    1.新建一个项目 2.添加一个用户控件"PaneCaption.vb" 3.[操作]调整控件大小为150×30 4.打开代码编辑器: Imports System.Drawing. ...

  2. ios 系统状态栏样式修改_超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等...

    原标题:超简单!!! iOS设置状态栏.导航栏按钮.标题.颜色.透明度,偏移等 1. 要实现以下这些效果都非常简单 2. 废话不多说,先看看实现效果 3. 下面告诉你我为什么说实现这些效果非常简单 比 ...

  3. win2d 渐变颜色

    本文告诉大家如何在 win2d 使用渐变颜色 线条渐变 在 UWP 的 Win2d 使用渐变颜色需要 CanvasLinearGradientBrush 做颜色,本文告诉大家如何在 win2d 使用 ...

  4. Qt Qss 渐变颜色设置

    1.渐变颜色设置有:qlineargradient(线性渐变颜色设置),qradialgradient(辐射渐变),qconicalgradient(圆锥形渐变). QLinearGradient:显 ...

  5. pyecharts画中国地图(省、市):如何调整渐变颜色、浏览器中大小、生成的HTML打开是空白无法显示的问题

    最近在做一个数模题,需要中国地图的数据可视化,了解到pyecharts,踩了一些坑,在此记录 ------------------------- 版本问题 现在网上大多数文章都是用的老版本,比如0.5 ...

  6. html5调颜色浏览器不显示,pyecharts画中国地图(省、市):如何调整渐变颜色、浏览器中大小、生成的HTML打开是空白无法显示的问题...

    最近在做一个数模题,需要中国地图的数据可视化,了解到pyecharts,踩了一些坑,在此记录 ------------------------- 版本问题 现在网上大多数文章都是用的老版本,比如0.5 ...

  7. CSS3 - 设置渐变颜色背景,线性/放射性/循环

    渐变就是多种颜色混合而成的效果,css3要实现渐变,就必须使用渐变函数来设置background或则background-imge属性.同时为了兼容各个浏览器(IE,safari,chrome,Fir ...

  8. android自定义控件颜色渐变,Android编程实现自定义渐变颜色效果详解

    本文实例讲述了Android编程实现自定义渐变颜色效果.分享给大家供大家参考,具体如下: 你是否已经厌恶了纯色的背景呢?那好,Android提供给程序员自定义渐变颜色的接口,让我们的界面炫起来吧. x ...

  9. 【原】Github系列之三:开源iOS下 渐变颜色的进度条WGradientProgress

    概述 今天我们来实现一个iOS平台上的进度条(progress bar or progress view).这种进度条比APPLE自带的更加漂亮,更加有"B格".它拥有渐变的颜色, ...

最新文章

  1. VUE的本地应用-V-TEXT
  2. python怎么安装requests库-Python爬虫入门requests库的安装与使用
  3. 【干货】Oracle数据库常用十一大操作指令
  4. 浅谈输入输出”重定向“——基于Linux系统
  5. 如何在 ASP.NET MVC 中集成 AngularJS(2)
  6. 微型计算机2014年9月下,2014年9月计算机应用基础》网络教育统考真题.doc
  7. Java 8 Optional类深度解析(转)
  8. websphere mq 查看队列中是否有数据_如果面试官再问你消息队列,就把这篇甩给他!...
  9. latex IEEE 模板 使用bib BibTeX
  10. KiCad常用元器件库
  11. EasyCamera开源摄像机接入海康威视摄像机PS流转ES流
  12. 小米笔记本 镜像_小米笔记本Air 13.3 指纹版安装黑苹果 macOS High Sierra 10.13 教程...
  13. 航旅纵横被质疑泄露用户数据;杭州网警破获67万台电脑数据遭黑客偷窃案;简历倒卖黑产:低至3毛一条,700元买采集器可无限量导数据...
  14. 置信区间 VS 置信水平
  15. backtrader_plotting报错Unexpected data type
  16. 学计算机理论课要记笔记吗,学生应该用笔记本电脑记笔记吗?
  17. 俺也上IPV6了 顺便推荐几个IPV6视频站点
  18. 果园机器人是什么文体_24课果园机器人
  19. Matlab基本初等函数大全
  20. 学习401k计划,建立自己的养老金投资组合

热门文章

  1. ideaskin软件下载_AC/DC_Highway To HellLRC动态歌词下载 - 一听音乐网
  2. 申请CSC公派访问学者的常见问题
  3. 初识以太坊 ——钱包、测试网络和简单交易
  4. 月经帖 | 2019.11
  5. MRP(物料需求计划) 的运作机制
  6. 【转】Linux那些事儿之我是Hub(7)蝴蝶效应
  7. Google浏览器在新标签页打开网址设置
  8. 小写数字与大写数字转换
  9. iPhone 13系列电池信息曝光,续航稳了
  10. JMeter入门教程详解