先看一下效果图:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.hankkin.gradationtitlebar.QQSpeakActivity">
<com.hankkin.gradationscroll.GradationScrollView
android:id="@+id/scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_banner"
android:scaleType="fitXY"
android:src="@drawable/banner3"
android:layout_width="match_parent"
android:layout_height="200dp" />
<com.hankkin.gradationscroll.NoScrollListview
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</com.hankkin.gradationscroll.NoScrollListview>
</LinearLayout>
</com.hankkin.gradationscroll.GradationScrollView>
<TextView
android:paddingBottom="10dp"
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="55dp"
android:gravity="center|bottom"
android:text="我是标题"
android:textSize="18sp"
android:textColor="@color/transparent"
android:background="#00000000" />
</RelativeLayout>
public class GradationScrollView extends ScrollView {
public interface ScrollViewListener {
void onScrollChanged(GradationScrollView scrollView, int x, int y,
int oldx, int oldy);
}
private ScrollViewListener scrollViewListener = null;
public GradationScrollView(Context context) {
super(context);
}
public GradationScrollView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public GradationScrollView(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);
}
}
}
我们需要获取图片的高度,并且设置滚动监听,随着滚动的距离来设置标题栏的颜色透明度和字体颜色的透明度
/**
* 获取顶部图片高度后,设置滚动监听
*/
private void initListeners() {
ViewTreeObserver vto = ivBanner.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
textView.getViewTreeObserver().removeGlobalOnLayoutListener(
this);
height = ivBanner.getHeight();
scrollView.setScrollViewListener(QQSpeakActivity.this);
}
});
}
/**
* 滑动监听
* @param scrollView
* @param x
* @param y
* @param oldx
* @param oldy
*/
@Override
public void onScrollChanged(GradationScrollView scrollView, int x, int y,
int oldx, int oldy) {
// TODO Auto-generated method stub
if (y <= 0) { //设置标题的背景颜色
textView.setBackgroundColor(Color.argb((int) 0, 144,151,166));
} else if (y > 0 && y <= height) { //滑动距离小于banner图的高度时,设置背景和字体颜色颜色透明度渐变
float scale = (float) y / height;
float alpha = (255 * scale);
textView.setTextColor(Color.argb((int) alpha, 255,255,255));
textView.setBackgroundColor(Color.argb((int) alpha, 144,151,166));
} else { //滑动到banner下面设置普通颜色
textView.setBackgroundColor(Color.argb((int) 255, 144,151,166));
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# android
# 标题栏渐变
# Android ScrollView滑动实现仿QQ空间标题栏渐变
# Android仿淘宝商品拖动查看详情及标题栏渐变功能
# Android中实现监听ScrollView滑动事件
# android TextView不用ScrollViewe也可以滚动的方法
# 在android中ScrollView嵌套ScrollView解决方案
# android 实现ScrollView自动滚动的实例代码
# android 自定义ScrollView实现背景图片伸缩的实现代码及思路
# android开发教程之文本框加滚动条scrollview
# Android之scrollview滑动使标题栏渐变背景色的实例代码
# 我是
# 先看
# 标题栏
# ImageView
# vertical
# orientation
# iv_banner
# src
# fitXY
# scaleType
# id
# GradationScrollView
# gradationscroll
# scrollview
# wrap_content
# LinearLayout
# scrollbars
# drawable
# textview
# gravity
相关文章:
网站制作知乎推荐,想做自己的网站用什么工具比较好?
香港服务器部署网站为何提示未备案?
如何用PHP快速搭建高效网站?分步指南
宝塔面板创建网站无法访问?如何快速排查修复?
网站制作软件有哪些,制图软件有哪些?
贸易公司网站制作流程,出口贸易网站设计怎么做?
高防服务器:AI智能防御DDoS攻击与数据安全保障
建站主机无法访问?如何排查域名与服务器问题
已有域名如何快速搭建专属网站?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
营销式网站制作方案,销售哪个网站招聘效果最好?
,石家庄四十八中学官网?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
简历在线制作网站免费版,如何创建个人简历?
制作宣传网站的软件,小红书可以宣传网站吗?
h5在线制作网站电脑版下载,h5网页制作软件?
如何通过万网虚拟主机快速搭建网站?
Python lxml的etree和ElementTree有什么区别
专业商城网站制作公司有哪些,pi商城官网是哪个?
c# await 一个已经完成的Task会发生什么
TestNG的testng.xml配置文件怎么写
韩国服务器如何优化跨境访问实现高效连接?
建站之星24小时客服电话如何获取?
网站制作员失业,怎样查看自己网站的注册者?
如何在Golang中使用replace替换模块_指定本地或远程路径
jQuery 常见小例汇总
如何在香港免费服务器上快速搭建网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何快速查询网址的建站时间与历史轨迹?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
如何在IIS7中新建站点?详细步骤解析
已有域名建站全流程解析:网站搭建步骤与建站工具选择
建站主机如何安装配置?新手必看操作指南
广平建站公司哪家专业可靠?如何选择?
如何在Windows服务器上快速搭建网站?
建站之星后台密码遗忘如何找回?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何用搬瓦工VPS快速搭建个人网站?
如何在新浪SAE免费搭建个人博客?
如何生成腾讯云建站专用兑换码?
如何零基础开发自助建站系统?完整教程解析
建站主机选择指南:服务器配置与SEO优化实战技巧
nginx修改上传文件大小限制的方法
Python如何创建带属性的XML节点
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站之星如何助力企业快速打造五合一网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。