首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

可折叠设备的桌面模式

△ Duo 应用在优化前后的对比 在这篇文章,您会了解到一个简单而又高效的方式来使您的应用在可折叠设备上运行时适配布局。...套件,您可以通过它们来为 PlayerView (显示媒体的界面) PlayerControlView (播放控件的容器) 指定不同的布局。...cancel() releasePlayer() } 如果您想要了解如何初始化释放一个 Exoplayer 实例,请查阅——Exoplayer codelab。...如果您要实现横屏功能,那么大多数时候,边界会以一个屏幕垂直居中的矩形来表示,它屏幕一样宽,并且高度与铰链相同 (对于可折叠设备而言值为 0,对于双屏幕设备而言会是两个屏幕之间的距离)。...在其他的所有情况下 (非全屏) 您需要考虑导航或屏幕上其他 UI 组件占据的空间。 为了移动参考线,您必须指定它距离父布局底部的距离。

2.3K30

ExoPlayer播放音视频的使用介绍

(1)将ExoPlayer添加为依赖项 入门的第一步是确保您的项目根目录的build.gradle文件包含JCenterGoogle存储库。...可以将PlayerView包含在应用程序的布局xml。...可以使用setTextOutputsetId3Output播放过程接收字幕ID3元数据输出。 (4)准备播放器 ExoPlayer,每个media都由MediaSource表示。...已注册的监听器会收到播放状态更改以及何时发生导致播放失败的错误的通知。 实现自定义播放控制的开发人员应该注册一个监听器,并在播放器的状态发生变化时使用它来更新控件。...九、数字版权管理 Android 4.4 (API级别19)更高版本ExoPlayer支持数字版权管理(DRM)保护回放。

6.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

iOS 11 更大的导航 (官方翻译版)

有时,导航的右侧包含一个控件,如编辑或完成按钮,用于管理活动视图中的内容。拆分视图中,导航可能会出现在拆分视图的单个窗格。...提示不需要导航时使用工具,或者想要多个控件来管理内容。请参阅工具。 导航标题 考虑导航显示当前视图的标题。大多数情况下,标题可帮助人们了解他们正在查看的内容。...一些应用程序,大标题的大胆大胆的文字可以帮助人们浏览搜索。例如,标签布局,大标题可以帮助澄清活动选项卡,并在用户滚动到顶部时通知用户。...虽然Clock应用程序具有标签式布局,但是大型标题是不必要的,因为每个标签都有一个不同的,可识别的布局。有关开发人员的指导,请参阅prefersLargeTitles。...导航控件 避免拥挤导管的控制太多。通常,导航不应包含视图的当前标题,后退按钮管理视图内容的一个控件。如果您在导航中使用分段控件,则该不应包含标题或除分段控件之外的任何控件

2.8K30

Flutter质感设计之底部导航

BottomNavigationBar即底部导航控件。显示应用底部的质感设计控件,用于少量视图中切换。...TickerProviderStateMixin { // 类成员,存储底部导航的当前选择 int _currentIndex = 2; // 类成员,存储底部导航布局行为:点击时会变大 BottomNavigationBarType...:存储底部导航布局行为 type: _type, // 当点击项目时调用的回调 onTap: (int index) { // 通知框架此对象的内部状态已更改 setState((){ // 当前选择的底部导航项目...((){ // 存储底部导航布局行为:选择值 _type = value; }); }, // 点击弹出菜单显示的项目时调用 itemBuilder: (BuildContext context...) = <PopupMenuItem<BottomNavigationBarType [ /* * 弹出菜单的显示项目 * 返回值:底部导航布局行为 * 子控件:文本控件 */ new PopupMenuItem

3K21

android 实现自己定义状态通知(Status Notification)

android项目的开发,有时为了实现用户更好的交互,通知这一小小的旮旯里,我们通常须要将内容丰富起来,这个时候我们就须要去实现自己定义的通知,比如以下360或者网易的样式: 首先我们要了解的是...自己定义布局文件支持的控件类型:Notification的自己定义布局是RemoteViews,因此,它仅支持FrameLayout、LinearLayout、RelativeLayout三种布局控件...这些UI控件。...对于其它不支持的控件,使用时将会抛出ClassNotFoundException异常。...以下就是详细的实现了:在这个通知里 我们放一个进度条 //Get the notification manager String ns = Context.NOTIFICATION_SERVICE

74910

Jetpack可能被你忽视的—行为组件简析

“行为组件可帮助您的应用与标准 Android 服务(如通知、权限、分享 Google 助理)相集成。...想必大家都了解过Camera APICamera2 API,总结就是两个字,不好用。哈哈,自我感觉,我印象,我要照相拍一张照片,不是应该直接调用一句代码可以完成。...媒体播放 “Android 多媒体框架支持播放各种常见媒体类型,以便您轻松地将音频、视频图片集成到应用。...通知通知是指 Android 应用的界面之外显示的消息,旨在向用户提供提醒、来自他人的通信信息或应用的其他实时信息。用户可以点按通知来打开应用,也可以直接在通知执行某项操作。...但是也正是由于风格固定,实际多样的APP应用比较少。 来个?

2.1K30

Android 列表视频的全屏、自动小窗口优化实践

1、系统层实现全屏播放 伟人曾经说过,每一个Activity都有一个自己的默认布局,这里面又包含有了一个com.android.internal.R.id.content,而且是一个FrameLayout...保存当前的状态、标题信息列表屏幕位置的信息,用于恢复到原本的状态。 创建一个黑色背景的FrameLayout,充满屏幕用来承载全屏播放器F,这样全屏播放器F可以在其中执行动画效果。...(男人长一点有什么错┑( ̄Д  ̄)┍) 是否横屏,是的话先转为竖屏 恢复状态标题 5.0以下直接清除当前列全屏播放器F,恢复视频状态 5.0以上显示让全屏播放器F过渡到原本的位置,再清除恢复视频状态...,只是这种实现在列表是不包含逻辑播放器,逻辑播放器全屏逻辑播放器都是一个单例,需要你手动list列表的最外层加多一个布局做全屏播放,每个item那里预留一个位置用于包容列表的播放器,还有一个播放按钮用于播放...逻辑实现全屏一样,用系统的content层来承载,不同的是利用margin让视频出现在右下角,这样我们拖动的时候只要改变视频的margin,就可以让视频小窗体它的父布局内移动啦。 ?

4.5K50

最详细的 Android Toolbar 开发实践总结

除此之外,设计 Toolbar 的时候,Google也留给了开发者很多可定制修改的余地,这些可定制修改的属性API文档中都有详细介绍,如: 设置导航图标; 设置App的logo; 支持设置标题子标题...接着,我们来看下布局文件代码实现。 首先,布局文件 activity_tool_bar.xml 添加进我们需要的 Toolbar 控件 ?...; Toolbar其他控件一样,很多属性设置方法既支持代码设置,也支持xml设置(这里也是最最最最最坑爹的地方,如何坑爹法,请接着往下看); Toolbar 踩坑填坑 坑一:xml布局文件,Toolbar...我猜测是因为这个控件是兼容版的控件,用 android:xxx 设置无效是的这些属性是兼容包,不在默认的Android SDK,所以我们需要额外的引入。...不设置Theme的效果 最后,再给知乎的主页面做个小小的优化,它在 Android 4.4 上运行还是能够看到一条黑乎乎的通知,为此我把 Toolbar Translucent System Bar

74020

SystemUI 开发之通知的实现逻辑(四)

0x00 介绍 今天我们来看一下 SystemUI系统通知的实现流程,希望能解决一个问题:系统通知是如何完成监听然后显示通知的?...应用系统服务的通信通道。...到这里小结一下:构建 StatusBar过程,通过 NotificationListener完成了系统通知的监听的注册。...现在我们回来看看通知控件是如何创建的 0x02 通知控件的创建 当收到系统通知时, NotificationListener的 onNotificationPosted()方法会执行,这时候就会在主线程执行添加或更新的操作...inflateViews()方法中会根据当前的通知是否存在进行更新或者添加,首次添加通知时会使用一个异步构建控件的接口来创建 ExpandableNotificationRow实例,这个就是通知显示的具体控件

78130

android的消息通知

android的应用层,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题框架,状态框架,通知机制,ActionBar框架等等。...注意: Notification的自定义布局是RemoteViews,其他RemoteViews一样,自定义视图布局文件,仅支持FrameLayout、LinearLayout、RelativeLayout...三种布局控件AnalogClock、Chronometer、Button、ImageButton、ImageView、ProgressBar、TextView、ViewFlipper、ListView...、GridView、StackViewAdapterViewFlipper这些显示控件,不支持这些类的子类或Android提供的其他控件。...之后的版本(即API >=9的版本),资源文件下的src/values-v9目录的style.xml文件设置它标题内容的样式为: <?

4K80

Android开发笔记(一百三十五)应用布局AppBarLayout

那么Android5.0也同时给出了相应的解决方案,即推出MaterialDesign库,通过该库的AppBarLayout控件,对Toolbar加以包装,从而实现顶部工具的动态变化效果。...(通常是Toolbar),告诉头部控件你要怎么滚,是爱咋咋滚,还是满大街滚; 具体到实现上,要在工程做以下修改: 1、添加几个库的支持,包括appcompat-v7库(Toolbar需要)、design...RecyclerView是其中一个特工,它可用来替代ListViewGridView;替代ScrollView的则另有其人,它便是嵌套滚动视图NestedScrollView,Android5.0之后的...所以,搜遍Android的SDK源码,总共也只有三个控件符合这个条件,它们是RecyclerView、NestedScrollView,以及SwipeRefreshLayout,布局文件中使用的名称如下所示...2、AppBarLayout内部的高度也可能变化,比如它嵌套了可折叠工具布局CollapsingToolbarLayout,有关可折叠工具布局的详细介绍参见《Android开发笔记(一百三十六)可折叠工具布局

1.9K40

02.视频播放器整体结构

如何友好处理播放器UI 08.交互交给外部开发者 09.关于优先级视图展示 10.代码项目lib代码介绍 00.视频播放器通用框架 基础封装视频播放器player,可以ExoPlayer、MediaPlayer...(手势滑动的快进快退提示框) 顶部控制区视图(包含返回健,title等),底部控制区视图(包含进度条,播放暂停,时间,切换全屏等) 锁屏布局视图(全屏时展示,其他隐藏),底部播放进度条视图(很多播放器都有这个...基础封装视频播放器player,可以ExoPlayer、MediaPlayer,声网RTC视频播放器内核,原生MediaPlayer可以自由切换 对于视图状态切换后期维护拓展,避免功能业务出现耦合...符合开闭原则 适配器模式 这个也是事后补救模式,但是该库,没有尝试这种方式。...有播放完成,播放异常,播放加载,顶部标题,底部控制条,锁屏,以及手势滑动。如何控制它们的显示隐藏切换呢? addView这些视图时,大多数的view都是默认GONE隐藏的。

1.7K10

Android开发笔记(五十二)通知推送Notification

3、用于远程视图RemoteViews,处理远程控件上的点击动作 4、用于发送短信SmsManager,处理短信发送完的后续动作 Notification Android的消息通知放的是...NotificationManager便是系统通知服务的管理类,它的常用方法如下: notify : 推送指定通知到状态下拉列表 cancel : 取消指定通知。...调用该方法后,状态下拉列表的指定通知将消失 cancelAll : 取消所有通知 下面是NotificationManager的调用代码例子: NotificationManager...RemoteViews 远程视图RemoteViews与页面视图一样也是从layout下的布局文件得到,二者之间的区别主要有: 1、远程视图主要用于桌面部件与通知部件,而页面视图用于APP页面...第一个参数是包名,第二个参数是布局文件id setViewVisibility : 设置控件是否可见 setViewPadding : 设置控件的间距 setTextViewText : 设置TextView

2.2K20

再学一遍android:fitsSystemWindows属性

Android手机顶部用于显示各种通知状态信息的这个叫做状态。 通常情况下,我们应用程序的内容都是显示状态下方的。...话说为什么android:fitsSystemWindows属性,设置CoordinatorLayout布局上就能生效,设置FrameLayout布局上就没有效果呢?...让布局的内容延伸到状态的背后,如果一些可交互的控件被状态遮挡了怎么办?这样这些控件可能就无法点击交互了。...但有的朋友会说,如果有些子控件我就是想要让它也延伸到状态区域内呢?比如我CoordinatorLayout内放了一张图片,按照这个规则,图片也是不会显示状态背后的,这样就达不到想要的效果了。...现在重新运行一下程序,效果如下图所示: 可以看到,现在我们仍然实现了沉浸式状态的效果,但问题是FrameLayout的按钮也延伸到状态区域了,这就是前面所说的可交互控件被状态遮挡的问题。

1.1K50
领券