热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

短视频app源码,Android开发底部滑出菜单

短视频app源码,Android开发底部滑出菜单首先依赖三方库implementationandroidx.appcompat:appcompat:1.2.0im

短视频app源码,Android开发底部滑出菜单

首先依赖三方库

implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'com.google.android.material:material:1.3.0'

再看主页面的布局

<?xml version&#61;"1.0" encoding&#61;"utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"xmlns:app&#61;"http://schemas.android.com/apk/res-auto"android:id&#61;"&#64;&#43;id/cl_chouti"android:layout_width&#61;"match_parent"android:layout_height&#61;"match_parent"><FrameLayoutandroid:layout_width&#61;"match_parent"android:layout_height&#61;"match_parent"><TextViewandroid:layout_width&#61;"match_parent"android:layout_height&#61;"match_parent"android:gravity&#61;"center"android:text&#61;"测试数据" /></FrameLayout><!--behavior_hideable布局是否可以哦隐藏--><RelativeLayoutandroid:id&#61;"&#64;&#43;id/bottom_sheet"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:layout_alignParentBottom&#61;"true"app:behavior_hideable&#61;"false"app:behavior_peekHeight&#61;"160dp"app:layout_behavior&#61;"&#64;string/bottom_sheet_behavior"><include layout&#61;"&#64;layout/layout_bottom_sheet" /></RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
include文件<?xml version&#61;"1.0" encoding&#61;"utf-8"?>
<LinearLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:background&#61;"#ffffff"android:orientation&#61;"vertical"><TextViewandroid:id&#61;"&#64;&#43;id/tv_tishi"android:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:layout_gravity&#61;"center_horizontal"android:layout_marginTop&#61;"40dp"android:text&#61;"附近热点"android:textSize&#61;"10sp" /><androidx.recyclerview.widget.RecyclerViewandroid:id&#61;"&#64;&#43;id/recyclerview"android:layout_width&#61;"match_parent"android:layout_height&#61;"300dp"android:background&#61;"&#64;color/red" />
</LinearLayout>

在看下使用方法

mainactivitypackage cn.xiayiye5.xiayiye5library.activity;import android.util.Log;
import android.view.View;
import android.widget.RelativeLayout;import androidx.annotation.NonNull;import com.google.android.material.bottomsheet.BottomSheetBehavior;import cn.xiayiye5.xiayiye5library.R;/*** &#64;author : xiayiye5* &#64;date : 2021/3/15 09:59* 类描述 :*/
public class BottomScrollerOutActivity extends BaseActivity {&#64;Overrideprotected int getLayoutView() {return R.layout.activity_scroller_out;}&#64;Overrideprotected void initId() {//底部抽屉栏展示地址RelativeLayout bottomSheet &#61; findViewById(R.id.bottom_sheet);BottomSheetBehavior<RelativeLayout> behavior &#61; BottomSheetBehavior.from(bottomSheet);//setBottomSheetCallback已过时behavior.addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {&#64;Overridepublic void onStateChanged(&#64;NonNull View bottomSheet, &#64;BottomSheetBehavior.State int newState) {String state &#61; "null";switch (newState) {case 1:state &#61; "STATE_DRAGGING";//过渡状态此时用户正在向上或者向下拖动bottom sheetbreak;case 2:state &#61; "STATE_SETTLING"; // 视图从脱离手指自由滑动到最终停下的这一小段时间break;case 3:state &#61; "STATE_EXPANDED"; //处于完全展开的状态break;case 4:state &#61; "STATE_COLLAPSED"; //默认的折叠状态break;case 5:state &#61; "STATE_HIDDEN"; //下滑动完全隐藏 bottom sheetbreak;default:break;}}&#64;Overridepublic void onSlide(&#64;NonNull View bottomSheet, float slideOffset) {Log.d("BottomSheetDemo", "slideOffset:" &#43; slideOffset);}});}&#64;Overrideprotected void loadData() {}
}

以上就是短视频app源码&#xff0c;Android开发底部滑出菜单&#xff0c; 更多内容欢迎关注之后的文章


推荐阅读
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 最近同事提了一个需求过来,他觉得项目对于第三方日志记录的太多了,只想记录一些业务相关的日志减少对于框架日志的显示。具体要求就是对于框架日志只显示warn等级以上的,而业务日志显示info等级以上 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 基于机器学习的人脸识别系统实现
    本文介绍了一种使用机器学习技术构建人脸识别系统的实践案例。通过结合Python编程语言和深度学习框架,详细展示了从数据预处理到模型训练的完整流程,并提供了代码示例。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 本文详细介绍了 Android 开发中 layout_gravity 属性的使用方法及其在不同布局下的效果,旨在帮助开发者更好地理解和利用这一属性来精确控制视图的布局。 ... [详细]
  • LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ... [详细]
  • 本文详细介绍了如何在现有的Android Studio项目中集成JNI(Java Native Interface),包括下载必要的NDK和构建工具,配置CMakeLists.txt文件,以及编写和调用JNI函数的具体步骤。 ... [详细]
  • Android中实现复合旋转动画效果
    本文将探讨如何在Android应用中实现动态且吸引人的旋转动画。通过结合多种动画类型,如透明度变化、旋转、缩放和位移,可以创造出更为复杂的视觉效果。我们将从XML布局和Java代码两个方面进行详细介绍。 ... [详细]
author-avatar
txwd2008
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有