直播网站源码,显示隐藏标题栏

简介: 直播网站源码,显示隐藏标题栏

直播网站源码,显示隐藏标题栏的相关代码

// An highlighted block
public class DivViewActivity extends AppCompatActivity {
    private ImageView iv_detail;

    private ObservableScrollView scrollView;
    private TextView tv_titlebar;
    private RelativeLayout layout_title;
    private int mImageHeight;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_div_view);
        initView();
        //得到ImageView控件的高度
//        iv_detail.getHeight();//就是如果这个视图树没有绘制完执行该方法,那么是得不到高度

        //获取视图树的监听,我们得到视图树绘制完毕,我们再去得到控件的高度
        ViewTreeObserver viewTreeObserver = iv_detail.getViewTreeObserver();
        //使用视图观察者设置监听,以便获取所观察控件的高度
        viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                //卸磨杀驴,回调监听后的,第一节事情就是移除监听,减少内存的消耗
                iv_detail.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                //得到控件高度
                mImageHeight = iv_detail.getHeight();
            }
        });

        //使用我们的自定义ScrollView滚动的监听,滑动超过图片的高度,标题显示出来
        scrollView.setmScrollViewListener(new ObservableScrollView.ScrollViewListener() {
            @Override
            public void onScrollChange(ObservableScrollView scrollView, int l, int t, int oldl, int oldt) {
                //对t参数进行判断,两种形态,一种消失没有 ; 随着滑动颜色越来越深
                Log.d("1801",t+"");
                if (t<0){
                    //设置标题隐藏
                    tv_titlebar.setVisibility(View.GONE);
                    //标题背景透明
                    layout_title.setBackgroundColor(Color.argb(0,0,0,0));
                }
                else if(t>0 && t < mImageHeight ){
                    //让标题显示出来
                    tv_titlebar.setVisibility(View.VISIBLE);
                    //获取ScrollView向下滑动,图片消失部分的比例
                    float scale = (float) t / mImageHeight;
                    //根据这个比例,让标题的颜色慢慢由浅到深
                    float alpha = 255 * scale;
                    //设置标题的内容及颜色
                    tv_titlebar.setText("阿巴阿巴阿巴阿巴阿巴啊阿巴");
                    tv_titlebar.setTextColor(Color.argb((int)alpha,0,0,0));
                    //设置标题布局颜色
                    layout_title.setBackgroundColor(Color.argb((int)alpha,255,255,255));
                }
            }
        });
    }


    private void initView() {
        iv_detail = (ImageView) findViewById(R.id.iv_detail);
        scrollView = (ObservableScrollView) findViewById(R.id.scrollView);
        tv_titlebar = (TextView) findViewById(R.id.tv_titlebar);
        layout_title = (RelativeLayout) findViewById(R.id.layout_title);
    }
}

以上就是直播网站源码,显示隐藏标题栏的相关代码, 更多内容欢迎关注之后的文章

目录
相关文章
|
4月前
|
前端开发
css动画(仿微信聊天页面)
css动画(仿微信聊天页面)
|
4月前
|
小程序
【微信小程序-原生开发】实用教程18 - 九宫格、底部悬停按钮、页内悬浮按钮、拨打电话、一键复制
【微信小程序-原生开发】实用教程18 - 九宫格、底部悬停按钮、页内悬浮按钮、拨打电话、一键复制
65 0
|
移动开发
H5 页面设置了字体的粗细样式,但是在华为手机里微信打开访问样式不生效?
H5 页面设置了字体的粗细样式,但是在华为手机里微信打开访问样式不生效?
312 0
H5 页面设置了字体的粗细样式,但是在华为手机里微信打开访问样式不生效?
|
自然语言处理 C++
制作有道词典——标题栏
制作有道词典——标题栏
制作有道词典——标题栏
|
JSON Android开发 数据格式
原生app开发技巧——底部导航栏动画效果按钮制作方法之采用photoshop制作gif动画-过渡动画关键帧
原生app开发技巧——底部导航栏动画效果按钮制作方法之采用photoshop制作gif动画-过渡动画关键帧
原生app开发技巧——底部导航栏动画效果按钮制作方法之采用photoshop制作gif动画-过渡动画关键帧
|
架构师 开发者
全屏幻灯控件|学习笔记
快速学习全屏幻灯控件。
|
XML Android开发 数据格式
直播视频网站源码,按钮背景点击按下变色
直播视频网站源码,按钮背景点击按下变色
649 0
|
JavaScript
直播视频网站源码,实现移动端的按钮拖动
直播视频网站源码,实现移动端的按钮拖动
781 0
全屏焦点图插件
在线演示 本地下载
720 0
|
Android开发 Kotlin 数据格式
ScrollView滑动—仿微博主页标题栏渐变悬浮及Fragment实现多个内容页面切换
作为一名热爱学习的Android开发工程si,刷微博的时候居然还想着技术呢,觉得自己也是够够了........哈哈哈 image.png 进入今天的正题,微博主页大家肯定是看过的,先看一下微博的效果。
2009 0