前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直播网站源码,显示隐藏标题栏

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

原创
作者头像
yunbaokeji柯基
修改2020-12-02 17:48:06
1.2K0
修改2020-12-02 17:48:06
举报
文章被收录于专栏:直播知识直播知识

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

代码语言:javascript
复制
// 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);
    }
}

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档