而弹幕则无疑是直播功能当中最为重要的一个功能之一,那么今天,我就带着大家一起来实现一个简单的Android端弹幕效果。 分析 首先我们来看一下斗鱼上的弹幕效果,如下图所示: ?...弹幕的View必须要做成完全透明的,这样即使覆盖在游戏界面的上方也不会影响到游戏的正常观看,只有当有人发弹幕消息时,再将消息绘制到弹幕的View上面就可以了。原理示意图如下所示: ?...但是我们除了要能看到弹幕之外也要能发弹幕才行,因此还要再在弹幕的View上面再覆盖一个操作界面的View,然后我们就可以在操作界面上发弹幕、送礼物等。原理示意图如下所示: ?...实现弹幕效果 接下来我们开始实现弹幕效果。弹幕其实也就是一个自定义的View,它的上面可以显示类似于跑马灯的文字效果。...注意addDanmaku()方法中有一个withBorder参数,这个参数用于指定弹幕消息是否带有边框,这样才好将自己发送的弹幕和别人发送的弹幕进行区分。
好久没有写过文章,最近发现直播特别的火,很多app都集成了直播的功能,发现有些直播是带有弹幕的,效果还不错,今天心血来潮,特地写了篇制作弹幕的文章. 今天要实现的效果如下: 1.弹幕垂直方向固定 ?...2.弹幕垂直方向随机 ?...上面效果图中白色的背景就是弹幕本身,是一个自定义的FrameLayout,我这里是为了更好的展示弹幕的位置才设置成了白色,当然如果是叠加在VideoView上的话,就需要设置成透明色了....制作弹幕需要考虑以下几点问题: 1.弹幕的大小可以随意调整 2.弹幕内移动的item(或者称字幕)出现的位置,水平方向是从屏幕右边移动到屏幕左边,垂直方向是不能超出弹幕本身的高度的. 3.字幕移除屏幕后...新的弹幕啊!!!新的弹幕啊!!!新的弹幕啊!!!")
本文实例为大家分享了Android视频弹幕的具体代码,供大家参考,具体内容如下 效果图: ? ?...上图:代码随机生成的弹幕及弹幕输入栏 下图:绿色框的弹幕为用户手动添加发送的弹幕 1.准备工作 准备一个视频文件,将该视频文件放到res/raw目录下。 ?...android:name="android.intent.category.LAUNCHER" / </intent-filter </activity 这里用到了哔哩哔哩开源的弹幕效果库DanmakuFlameMaster...注:DanmakuFlameMaster的版本最好使用在0.9以上,否则会存在一些弹幕bug 2.布局 使用一个相对布局,弹幕浮于视频之上,底部是弹幕文字输入栏,右下角为弹幕发送按钮: <?...:text="发送"/ </LinearLayout </RelativeLayout 3.视频弹幕的实现 <1 播放视频使用VideoView来进行播放; <2 关于弹幕库的使用,需要创建一个
本文实例为大家分享了Android实现弹幕效果的具体代码,供大家参考,具体内容如下 首先分析一下,他是由三层布局来共同完成的,第一层视频布局,第二层字幕布局,第三层输入框布局,要想让这三个布局在同一页面上...<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...</RelativeLayout 创建一个弹幕的解析器 public class MainActivity extends AppCompatActivity { private boolean...showDanmaku; private DanmakuView danmakuView; private DanmakuContext danmakuContext; //创建一个弹幕的解析器 private...{ } @Override public void drawingFinished() { } }); danmakuContext=danmakuContext.create(); //第一个参数是弹幕的解析器
功能: (1)弹幕生成后自己主动从右側往左側滚动(TranslateAnimation)。弹幕消失后立马被移除。 (2)弹幕位置随机出现。而且不反复(防止文字重叠)。...(4)自己定义先减速,后加速的Interpolator,弹幕加速进入、减速停留、然后加速出去。...{ private MyHandler handler; //弹幕内容 private TanmuBean tanmuBean; //放置弹幕内容的父组件 private...", "測试一下", "弹幕这东西真不好做啊", "总是出现各种问题~~", "也不知道都是为什么?麻烦!", "哪位大神能够帮帮我啊?"...", "測试一下", "弹幕这东西真不好做啊", "总是出现各种问题~~", "也不知道都是为什么?麻烦!", "哪位大神能够帮帮我啊?"
本文实例为大家分享了Android双重SurfaceView实现弹幕效果的具体代码,供大家参考,具体内容如下 页面布局 首先是XML的layout布局,这里的总的父布局是一个FrameLayout用于贴上两个...SurfaceView,一个用来播放视频,一个用来显示弹幕 <?...<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com..." <SurfaceView android:id="@+id/sv_text" android:layout_width="match_parent" android:...:text="发送" android:layout_marginTop="500dp" android:onClick="Gogo"/ </FrameLayout 对象类 创建一个对象类来存放你所发送的弹幕
本文介绍了Android EasyBarrage实现轻量级弹幕效果,分享给大家,具体如下: 概述 EasyBarrage是Android平台的一种轻量级弹幕效果目前支持以下设置: 自定义字体颜色,支持随机颜色...; 自定义字体大小,支持随机字体大小; 支持边框显示,用于区分自己的弹幕和其他弹幕; 自定义边框颜色; 弹幕数据是否允许重复; 自定义单屏显示的最大弹幕数量; 数据不重叠; 支持动态添加弹幕; 不依赖VideoView...1 build.gradle compile 'com.kd.easybarrage:library:0.0.1' 2 xml <com.kd.easybarrage.BarrageView android...:id="@+id/barrageView" android:layout_width="match_parent" android:layout_height="match_parent"...android:layout_above="@+id/send" app:allow_repeat="true" app:border_color="@color/colorAccent"
在很多视频直播中都有弹幕功能,而安卓上没有简单好用的弹幕控件,本文介绍一个自定义弹幕view的demo。 效果图: ?...思路: 1、自定义Textitem类表示弹幕的信息 2、自定义view继承view,使用ArrayList保存每条Textitem 3、随机生成坐标点绘制每条TextItem,不断变换Text的横坐标实现弹幕的滚动...首先创建弹幕类,弹幕包括坐标,颜色,滚动速度,以及文字内容: public class Textitem { private String content; private float fx;...VIew就是不断从ArrayList中获取弹幕进行绘制,由于在其他线程进行刷新,所以使用postInvalidate进行重绘。...由于只是实现demo,很多问题没有考虑,存在问题: 弹幕离开屏幕后没有进行清除,使得ArrayList不断扩大,可以进行一个判断,若Textitem的绘制区域不在屏幕内则删掉此item 弹幕若没有交互需求
Demo 下载地址: 点击此处跳转:https://github.com/FishInWater-1999/AndroidClockDemo 部分代码展示: mainActivity部分: 实现切换,获得事件并显示等功能
在实际的开发环境过程中,我们经常会遇到一些开发环境搭建的困扰,本篇介绍一下Android开发环境以及结合腾讯云COS产品的Android SDK的使用,仅限于初次使用Android开发的小伙伴围观。...下载并配置COS Android SDK Demo 下载地址https://github.com/tencentyun/qcloud-sdk-android-samples 7....引入项目 引入完成如图所示 image.png MainActivity为主函数入口,分为service(listbuckets),bucket,object 三个demo入口 image.png 以下是三个类型...demo的逻辑实体类和执行方法 image.png 以ObjectDemo为例,可以看到类内的分支测试逻辑,这里将每个object的方法封装一个测试demo来执行。...image.png image.png image.png Demo中的其他接口也是类似的方法,具体的就不一一表述了。大家可以亲自体验一下。
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="...android:text="@string/setclock" android:onClick="setClock" android:layout_weight="1"...android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="...; import android.content.Context; import android.content.Intent; import android.media.AudioManager; import
TensorFlow Lite 支持 Android、iOS 甚至树莓派等多种平台。 我们知道大多数的 AI 是在云端运算的,但是在移动端使用 AI 具有无网络延迟、响应更加及时、数据隐私等特性。...mnist 数据集获取地址:http://yann.lecun.com/exdb/mnist/ 下面的 demo 中已经包含了 mnist.tflite 模型文件。...android { ...... aaptOptions { noCompress "tflite" } } demo 运行效果如下: ? ? 五....本文 demo 的 github 地址:https://github.com/fengzhizi715/TFLite-MnistDemo 当然,也可以跑一下官方的例子: https://github.com.../tensorflow/tensorflow/tree/master/tensorflow/lite/examples/android/app
先上效果图,本demo 会逐步完好 当中第2张图片是移动一行效果。
Popupwindow 完美demo实现 图示: 关键代码说明: 1.弹出popupwindow,背景变暗 ColorDrawable cd = new ColorDrawable(0x000000...> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width...:bottomRightRadius="5dp" android:bottomLeftRadius="5dp"/> demo下载地址: http://download.csdn.net
**在实际的开发环境过程中,我们经常会遇到一些开发环境搭建的困扰,本篇介绍一下Android开发环境以及结合腾讯云COS产品的Android SDK的使用,仅限于初次使用Android开发的小伙伴围观。...---- 下载并配置COS Android SDK Demo 下载地址https://github.com/tencentyun/qcloud-sdk-android-samples 引入项目 引入完成如图所示...[成功引入DEMO项目] MainActivity为主函数入口,分为service(listbuckets),bucket,object 三个demo入口 [首页按钮入口] 以下是三个类型demo的逻辑实体类和执行方法...[方法实体类入口] 以ObjectDemo为例,可以看到类内的分支测试逻辑,这里将每个object的方法封装一个测试demo来执行。...[bwx0hj8wmp.png] [PUT Object 测试1] [PUT Object 测试2] Demo中的其他接口也是类似的方法,具体的就不一一表述了。大家可以亲自体验一下。
我们这里做一个简单的计算器demo,其中运算的逻辑由Native实现,而且我们采用动态注册的方式来实现 样式大概如下: ?...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...android:inputType="number" android:layout_weight="1.0" android:layout_width="...android:text="@string/add" android:id="@+id/add" android:layout_width="match_parent"...android:layout_weight="1.0" android:text="@string/sub" android:id="@+id/sub"
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation=...<FrameLayout android:clickable="true" android:layout_width="wrap_content" android...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="...android:layout_width="wrap_content" android:layout_height="wrap_content" android...> <item android:state_pressed
前言 安卓的开发环境可以使用Eclipse + ADT 也可以使用Android Studio,现在常用的都是Android Studio,毕竟是Google官方提供专门为Android量身定做的开发工具...下载Android Studio 2021版本的下载地址:Android Studio 官网地址:Android Studio官网 创建sdk目录,将下载的压缩包解压到sdk目录,我的目录为:E:...\Android\SDK 配置环境变量 在系统环境变量中先设置一个环境变量名字ANDROID_HOME,变量值写E:\Android\SDK,这是上面 sdk 安装的文件夹。...6-10的SDK,点击Install,等待安装完成 安装完成后配置环境变量,需要配置两个目录:E:\Android\android-sdk\tools和E:\Android\android-sdk\...调试 使用USB或者无线等方式连接手机,这里使用USB连接,传输模式为传输文件 手机开启开发者模式,然后再Android Studio启动demo项目 启动后会传输到手机让进行安装
项目名:HoseWork 完成时间:2018-10-01 ~ 2018-10-10 性质:个人项目 Demo地址:点击:https://github.com/FishInWater-1999/Android-app...产品介绍: 学习星是一款面向广大学生、终生学习者打造的课程类app,集成了C,C++,Java,python,C#,JavaScript等十几种编程语言的学习课程与案例分析,同时还涵盖了web开发、Android...展示要问+学习资料 首页 推荐展示下方 点击跳转到首页 知识 推荐展示下方 点击跳转到知识 我的 推荐展示下方 点击跳转到我的 知识: 名称 推荐专栏 功能 展示了所有教程,包括Ado教程,Ajax教程,Android
近期由于项目需求,对 Android NFC 技术进行了一定的了解和深入,整合了一些网络、书籍资料,此文章仅作为自己的学习笔记。...3)通过 Android Beam 技术将 NDEF 数据发送到另一部 NFC 设备。...NdefMessage 和 NdefRecord 是 Android NFC 技术的核心类,无论读写 NDEF 格式的 NFC 标签,还是通过 Android Beam 技术传递 Ndef 格式的数据,...三、实战使用 NFC 标签 (1) 利用 NFC 标签让 Android 自动运行程序 场景是这样的:现将应用程序的包写到 NFC 程序上,然后我们将 NFC 标签靠近 Android 手机...项目源码地址:https://github.com/RickyYu/Nfc-Android
领取专属 10元无门槛券
手把手带您无忧上云