最近遇到一个项目团队是做全景视频播放的,希望用EasyPlayerPro做一个客户端程序,但是在调试DEMO的时候遇到一个问题,即配置了全屏模式后,视频只能出现在窗体左上角。...EasyPlayerPro播放界面: 针对该问题,我们与这个项目团队进行了详细沟通,才得知当前的显示器是多屏拼接显示的,用Nvidia的Surround配置多个显示器拼接成一个显示器来用,目的是提高显示效果...但是就算如此,也不应该在本应全屏的时候不能全屏显示,最终只能回归到检查代码。...,然后再配合去除窗体边框等,调试运行后,过然可以解决问题,此时能果断解决网友遇到的“全屏”问题。...,灵活程度没有EasyPlayer-RTSP和EasyPlayer-RTMP专用播放器的灵活程度高,EasyPlayerPro考虑的是通用性,而专用播放器考虑的是定制性。
2、提示对话框 提示对话框应该是最常见的AlertDialog了,中上方是提示文字,底部是“取消”、“确定”等按钮。结合前面的创建步骤,相信下面的代码不难理解。...3、单选对话框 单选对话框的内容就是一个单项选择列表,需要用到setSingleChoiceItems方法,参数一是列表数据,参数二是默认选中的item,,参数三则是点击监听接口,我们要实现这样一个小功能...方法那里的which表示的却是按钮的种类,正面按钮中的which值是-1,反面按钮的是-2,与列表的item是没有关系的。...4、复选对话框 复选对话框是一个可以重复选中的列表,与单选对话框有点像,不过调用的是setMultiChoiceItems方法,而且多了一个布尔值参数isChecked,表示当前点击的item是否被选中...5.2 代码逻辑 setView方法是通过AlertDialog的对象调用的,所以这里的代码顺序会稍有不同:我们要先创建AlertDialog对象和View对象,然后再去初始化对话框中的控件。
在我们的开发过程中,实现Activity全屏的效果经常遇见,当然我相信大家都肯定使用过,估计也会用,但是推出全屏的方法估计大家应该大多数人没有用过。...在这里我就给大家介绍一下,如何动态的实现设置全屏和退出全屏吧! [1]....[代码] 实现全屏函数: private void setFullScreen(){ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN...[代码] 退出全屏函数: private void quitFullScreen(){ final WindowManager.LayoutParams attrs = getWindow().getAttributes...,在评论的下面留言自己最想知道的一些教程或者需要讲解的代码有哪些,我好有针对性的给大家写一些文章,我也希望有能力的人,能够也写一些文章,分享给大家。
好久没更新了,这期说一下 HTTPS 的「安全」。 从这期开始,HenCoder 会开始讲自定义 View 以外的内容。目标依然是瞄准当代中国大多数工程师的弱点:瓶颈基础。...这期是 HTTP 方面的内容,以后也许继续是网络,也有可能会和其他内容穿插着来。总之,目标不变:瞄准基础但避免晦涩,期望能提高大多数人的天花板。...如果只是做这么一个切换,一般只需要把 url 里的 http 改成 https 就行了,其他的事情由系统的或者网络请求库的 API 来帮我们自动搞定。...但总有些例外情况——例如证书自签名——会需要我们对 HTTPS 的原理有更深入的了解,至少知道它所谓的「安全」到底是为什么。 这期我就从几个关键点上介绍一下,HTTPS 的安全究竟是怎么回事。...具体的就看视频吧,这次的视频又是做了几天
引子 不管是Android还是iOS平台中,都可以看到一些应用在启动的时候会先出现一个启动画面(Splash Activity),如QQ、微信等。...一方面,这可以给用户留下更深刻的使用体验,从而产生一定品牌效应;另一方面,也给应用的启动初始化留下了充裕的时间,避免因为启动时间过长而给用户留下不良的印象。因此,全屏显示在手机应用中得到了广泛的应用。...那么这篇博客中就记录下全屏显示的一些实现方案。 实现 方案一:给布局管理器设置背景图片。这种方案是通过设置android:background和NoActionBar主题来实现的。 1 这里@drawable/background是放在drawable目录下的一个图片资源。...但是要注意当加载分辨率较大的图片时、或者图片较多时,容易导致内存溢出。 方案三、使用Java代码动态加载图片设置全屏背景。这种方案的原理是,根据显示屏幕的大小对图片进行缩放,从而对屏幕尺寸进行适配。
Android 源码的说明 */ setStyle(DialogFragment.STYLE_NO_TITLE, R.style.CustomDialog); } 实现全屏(宽/高度全屏...,这一步是必须的; 代码 15 行设置窗口的宽度为 MATCH_PARENT,效果是和屏幕宽度一样大,同样你也可以设置高度的值。...,这一步是必须的; 代码 15 行设置了窗口的 Pading 值全部为0,这一步也是必须的,内容不能填充全部宽度和高度。...总结 以上是个人在实际开发过程中的一点总结和看法,希望你能抱着存疑的态度进行尝试,如果有新的观点或者文章中有不正确的地方,欢迎和我联系。...扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in
Android设置Activity全屏的两种方式 1.代码中 在Activity的onCreate()方法中设置两个Flag: super.onCreate(savedInstanceState); this.requestWindowFeature...2.AndroidMenifest.xml文件中 找到要设置的Activity声明标签,设置它的theme即可,例如: <activity android:name...android:name="android.intent.category.LAUNCHER" /> 如果要设置所有页面都为全屏的话就直接将theme属性添加到application标签中即可,例如: <application android:icon="@drawable.../ic_launcher" android:label="@string/app_name" android:theme=" @android :style/Theme.NoTitleBar.Fullscreen
“字体要大、颜色要鲜艳”,这话听着熟悉吧,在日常开发中,往往因为业务的不同、受众群体的特殊,可能需要我们做出特殊的处理。 今天是对原生AlertDialog做一些大小和颜色的修改。...这里主要说的是第二种方案 效果图对比 先看一下修改前的代码 AlertDialog builder = new AlertDialog.Builder(Activity.this)...这时候点开AlertDialog查看源码,构造方法以下就是get set 方法了,可以看到一个getButton方法 这里的返回是一个button,看注释,可以返回 “确定取消” 按钮,那既然得到...ok,继续往下看,可以看到一个重写的setTitle方法, 注意这里是引用的一个mAlert对象,且调用它的setTitle方法,ok,点进去这个setTitle方法查看究竟。...看代码: AlertDialog builder = new AlertDialog.Builder(Activity.this) .setTitle("这是标题")
第二种方法,定义一个主题,在styles.xml里面 android...:windowNoTitle">true android:windowFullscreen">true ... 然后在manifest.xml中,为想要全屏的activity加上android:theme="@style/Theme.NoTitle_FullScreen"这个属性。
由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0) 即可。...Logger.i(TAG, "onStart") super.onStart() setWindowParam() } /** * 设置dialog的
列表中播放视频全屏展示 看过小喵上一篇视频相关文章的应该知道小喵手贱的用了两种实现方式,一种是基于懒人的系统层模式;一种是基于单例的UI逻辑播放器的模式的ListVideoUtil。...至于为什么是两种呢?因为手贱啊。(ノಠ益ಠ)ノ彡┻━┻,本文如有不明之处可结合前文一起食用:《Android 实现视屏播放器、边播边缓存功能、外加铲屎(IJKPlayer)》。...1、系统层实现全屏播放 伟人曾经说过,每一个Activity都有一个自己的默认布局,这里面又包含有了一个com.android.internal.R.id.content,而且是一个FrameLayout...总体上逻辑和上文是一致的,只是这种实现在列表中是不包含逻辑播放器,逻辑播放器和全屏逻辑播放器都是一个单例,需要你手动在list列表的最外层加多一个布局做全屏播放,在每个item那里预留一个位置用于包容列表的播放器...逻辑和实现全屏一样,用系统的content层来承载,不同的是利用margin让视频出现在右下角,这样我们拖动的时候只要改变视频的margin,就可以让视频小窗体在它的父布局内移动啦。 ?
Hi,我是小彭。本文已收录到 GitHub · Android-NoteBook[1] 中。这里有 Android 进阶成长知识体系,有志同道合的朋友,欢迎跟着我一起成长。...可见,要成为 Android 高级工程师 Gradle 是必须掌握的知识点。...为什么 Gradle 官方从早期就专门推出一个自动安装环境工具呢,我认为原因有 2 个: 确保 Gradle 版本正确性: 鉴于 Gradle 有较弱向后兼容性的特点,Gradle Wrapper 能够从项目工程级别固化项目所需要的...1.6 gradle.properties 构建环境配置 Gradle 是运行在 Java 虚拟机的,gradle.properties 文件可以配置 Gradle 构建的运行环境,并且会覆盖 Android...例如,我们熟悉的 android{} 就是 Android Gradle Plugin 提供的扩展。 关于插件 Extension 扩展的更多内容,见下一篇文章。
项目中用到一个Android的ProgressDialog显示操作的进度条,机器要求是屏蔽或隐藏掉导航栏和虚拟按键的显示。...经过一连串的尝试摸索,找到了个目前认为是见到过的最优解的方法。 如果谁有更好更简单的实现,欢迎留言,共同学习学习。...将alert.setCentView(xx); alertDialog.getWindow();放到alertDialog.show();后边调用。 至于原因,网上有人从源码的角度分析过这个问题。...在Activity中,虽然在setContentView(R.layout.activity_main)之前调用隐藏状态栏的代码,但是一旦Activity跳转,就又出来了, 解决办法是在隐藏状态栏逻辑代码的下面...= 3 * width / 5;//设置进度条的宽度 params.dimAmount = 0f;//设置半透明背景的灰度,范围0~1,系统默认值是0.5,1表示背景完全是黑色的
,调用add方法添加 菜单,add(菜单项的组号,ID,排序号,标题),另外如果排序号是按添加顺序排序的话都填0即可!...,依次是: 1、组别,如果不分组的话就写Menu.NONE, 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 3、顺序,哪个菜单项在前面由这个参数的大小决定...4、文本,菜单项的显示文本 add()方法返回的是MenuItem对象,调用其setIcon()方法,为相应MenuItem设置Icon 高版本的...说明 替换Android菜单实现自定义菜单风格 这里menuView是自定的菜单风格,是一个View。...; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity
大家好,又见面了,我是全栈君。...在开发中我们经常需要把我们的应用设置为全屏或者不想要title, 这里是有两种方法的,一种是在代码中设置,另一种方法是在配置文件里改: 一、在代码中设置: package jason.tutor;...FLAG_FULLSCREEN); setContentView(R.layout.main); } } 在这里要强调一点,设置全屏的俩段代码必须在...setContentView(R.layout.main) 之前,不然会报错,而且这种方法有个弊端,就是在设置全屏的这个activity刚出现时,title会闪现一下再消失,也就是需要执行到设置全屏的代码的时候才会完全有效...> 如果只是想要某一个activity全屏,那么这段代码刚刚好,如果是想整个应用的所有activity都全屏,那么如下 <?
话不多说,直接上代码: AlertDialog.Builder builder = new Builder(HomeActivity.this); View view = View.inflate...LayoutParams.MATCH_PARENT; dialog.getWindow().setAttributes(layoutParams); //设置dialog进入的动画效果...name="@android:windowExitAnimation">@anim/ver_tran_out 而其中的anim/ver_tran_in内容如下...> android="http://schemas.android.com/apk/res/android" android:duration="500"...android:fromXDelta="0" android:toXDelta="0" android:fromYDelta="80%p" android:toYDelta="0
所以要和ScrollView配合 但是如果界面设成全屏模式就不会生效 解决方式 在非全屏模式(即状态栏不透明)下,将activity的windowSoftInputMode的属性设置为:adjustResize...即添加: android:windowSoftInputMode="adjustResize" 但是在全屏模式下,即使将activity的windowSoftInputMode的属性设置为:adjustResize...在键盘显示时它未将Activity的Screen向上推动,所以你Activity的view的根树的尺寸是没有变化的。 在这种情况下,你也就无法得知键盘的尺寸,对根view的作相应的推移。...全屏下的键盘无法Resize的问题从2.1就已经存在了,直到现在google还未给予解决。 有人已经封装好了该类,你只需引用就OK了,我们来看下这个类。...(android.R.id.content); //2、获取到setContentView放进去的View mChildOfContent = content.getChildAt
/Firedamp/Rudeness 一、现状 由于Android碎片化严重,屏幕适配一直是开发中较为头疼的问题。...面对市面上五花八门的屏幕大小与分辨率,Android基于dp与res目录名称来适配的方案已无法满足一次编写全屏幕适配的需求,为了达到最优的视觉效果,开发过程中总是需要花费较多资源进行适配。...也有开发者给出了一些自己的解决方案。首先来分析一下一些常见的解决方案的现状: 1、官方适配方案 (1)、dp:dp是Android开发中特有的一个单位。...通常我们需要的适配是这样的: ?...那么Android计算长度的收口在哪里,能不能在Android计算长度时进行换算呢?如果能在Android计算长度时进行换算,那么就不需要一系列多余的计算以及适配,一切问题就都迎刃而解了。
android:lineSpacingMultiplier设置行间距的倍数,如”1.2″。...- minenamewj的专栏 - 博客频道 - CSDN.NET 解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager...$BadTokenException) - chenfuduo_loveit的专栏 - 博客频道 - CSDN.NET 加权限 4、SharedPreferences 为什么使用SharedPreferences...Android中SharedPreferences和序列化结合保存对象数据 使用方法 Android应用开发SharedPreferences存储数据的使用方法-android100学习网 SharedPreferences...原因:AlertDialog的包使用错误,应该用importandroid.app.AlertDialog; ?
官方 Demo 将功能分为两个大类,一个是组件,另一个是接口。 组件 共计 7 类,包含 22 个组件。...视频可以添加弹幕,用户也可以直接选择全屏播放。嗯,程序员哥哥又可以少写好多代码。 需要注意的是,选择全屏播放模式后,可以切换到竖向全屏播放,但是并不会退出全屏状态。...界面 设置界面标题; 标题栏加载动画; 页面跳转; 下拉刷新; 创建动画(常见的补间动画都有); 创建画布; 显示操作菜单 (弹出一个列表弹窗); 显示弹窗 (类似 Android 的 AlertDialog...不过遗憾的是,小程序放入后台运行后,Android 的通知中没有音乐快捷操作。 在文件接口中,Demo 只是展示了图片的选取保存,不知道是否支持其他文件格式。...这里的文件是永久保存,下次打开小程序时候还可以使用。 视频接口,可以即时录制或选择已录制的视频。但选择录制新视频时,也是通过系统的相机应用进行拍摄。
领取专属 10元无门槛券
手把手带您无忧上云