个人中心滚动标题渐变颜色
/****页面**/ 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>
个人中心滚动标题渐变颜色相关推荐
- [VB.net]绘制具有渐变颜色和防锯齿字体的标题
1.新建一个项目 2.添加一个用户控件"PaneCaption.vb" 3.[操作]调整控件大小为150×30 4.打开代码编辑器: Imports System.Drawing. ...
- ios 系统状态栏样式修改_超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等...
原标题:超简单!!! iOS设置状态栏.导航栏按钮.标题.颜色.透明度,偏移等 1. 要实现以下这些效果都非常简单 2. 废话不多说,先看看实现效果 3. 下面告诉你我为什么说实现这些效果非常简单 比 ...
- win2d 渐变颜色
本文告诉大家如何在 win2d 使用渐变颜色 线条渐变 在 UWP 的 Win2d 使用渐变颜色需要 CanvasLinearGradientBrush 做颜色,本文告诉大家如何在 win2d 使用 ...
- Qt Qss 渐变颜色设置
1.渐变颜色设置有:qlineargradient(线性渐变颜色设置),qradialgradient(辐射渐变),qconicalgradient(圆锥形渐变). QLinearGradient:显 ...
- pyecharts画中国地图(省、市):如何调整渐变颜色、浏览器中大小、生成的HTML打开是空白无法显示的问题
最近在做一个数模题,需要中国地图的数据可视化,了解到pyecharts,踩了一些坑,在此记录 ------------------------- 版本问题 现在网上大多数文章都是用的老版本,比如0.5 ...
- html5调颜色浏览器不显示,pyecharts画中国地图(省、市):如何调整渐变颜色、浏览器中大小、生成的HTML打开是空白无法显示的问题...
最近在做一个数模题,需要中国地图的数据可视化,了解到pyecharts,踩了一些坑,在此记录 ------------------------- 版本问题 现在网上大多数文章都是用的老版本,比如0.5 ...
- CSS3 - 设置渐变颜色背景,线性/放射性/循环
渐变就是多种颜色混合而成的效果,css3要实现渐变,就必须使用渐变函数来设置background或则background-imge属性.同时为了兼容各个浏览器(IE,safari,chrome,Fir ...
- android自定义控件颜色渐变,Android编程实现自定义渐变颜色效果详解
本文实例讲述了Android编程实现自定义渐变颜色效果.分享给大家供大家参考,具体如下: 你是否已经厌恶了纯色的背景呢?那好,Android提供给程序员自定义渐变颜色的接口,让我们的界面炫起来吧. x ...
- 【原】Github系列之三:开源iOS下 渐变颜色的进度条WGradientProgress
概述 今天我们来实现一个iOS平台上的进度条(progress bar or progress view).这种进度条比APPLE自带的更加漂亮,更加有"B格".它拥有渐变的颜色, ...
最新文章
- VUE的本地应用-V-TEXT
- python怎么安装requests库-Python爬虫入门requests库的安装与使用
- 【干货】Oracle数据库常用十一大操作指令
- 浅谈输入输出”重定向“——基于Linux系统
- 如何在 ASP.NET MVC 中集成 AngularJS(2)
- 微型计算机2014年9月下,2014年9月计算机应用基础》网络教育统考真题.doc
- Java 8 Optional类深度解析(转)
- websphere mq 查看队列中是否有数据_如果面试官再问你消息队列,就把这篇甩给他!...
- latex IEEE 模板 使用bib BibTeX
- KiCad常用元器件库
- EasyCamera开源摄像机接入海康威视摄像机PS流转ES流
- 小米笔记本 镜像_小米笔记本Air 13.3 指纹版安装黑苹果 macOS High Sierra 10.13 教程...
- 航旅纵横被质疑泄露用户数据;杭州网警破获67万台电脑数据遭黑客偷窃案;简历倒卖黑产:低至3毛一条,700元买采集器可无限量导数据...
- 置信区间 VS 置信水平
- backtrader_plotting报错Unexpected data type
- 学计算机理论课要记笔记吗,学生应该用笔记本电脑记笔记吗?
- 俺也上IPV6了 顺便推荐几个IPV6视频站点
- 果园机器人是什么文体_24课果园机器人
- Matlab基本初等函数大全
- 学习401k计划,建立自己的养老金投资组合