热门标签 | 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; 更多内容欢迎关注之后的文章


推荐阅读
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,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社区 版权所有