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

Android开发常用的知识点

代码中配置 //设置横屏代码 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏 //设置竖屏代码 setRequestedOrientation...(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏 因为横屏有两个方向的横法,而这个设置横屏的语句,如果不是默认的横屏方向,会把已经横屏的屏幕旋转180°。...所以可以先判断是否已经为横屏了,如果不是再旋转,不会让用户觉得转的莫名其妙啦!...Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。...相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。

2.6K10

H5直播避坑指南

而一般用户进入页面基本都是竖屏,所以我们就要考虑怎么让用户在竖屏点击全屏按钮时,能体验到像终端app一样自动进入横屏全屏的体验,下面有两种方案 1.在用户点击全屏时候,通过css3属性旋转屏幕 通过css...这种模式的显示没有太大问题,但因为是通过css控制的页面dom显示,对于原生的空间不能很好的控制,如系统的键盘 ?...在拉起键盘输入弹幕的时候,键盘不受控制还是竖屏显示了 如果页面不涉及与原生组件的交互,那么这种方案是一种很可行且兼容性比较好的方案 2.用户在点击全屏时,通过js api来控制webview旋转横屏...在手Q里,我们和终端的同学合作添加了控制webview横竖屏的接口 在用户点击全屏的时候,先判断当前是否横屏 /** * 是否横屏 */ function isHorizontal...mqq.ui.setWebViewBehavior({ orientation: 0 //0是竖屏,1是横屏 }); 如果是竖屏则强制webview旋转进入横屏,同时监听页面的

10.9K151
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    H5直播避坑指南

    _9107_1498530690371.jpg] 而一般用户进入页面基本都是竖屏,所以我们就要考虑怎么让用户在竖屏点击全屏按钮时,能体验到像终端app一样自动进入横屏全屏的体验,下面有两种方案 1.在用户点击全屏时候...这种模式的显示没有太大问题,但因为是通过css控制的页面dom显示,对于原生的空间不能很好的控制,如系统的键盘 [1498530770240_8865_1498530770152.png] 在拉起键盘输入弹幕的时候...,键盘不受控制还是竖屏显示了 如果页面不涉及与原生组件的交互,那么这种方案是一种很可行且兼容性比较好的方案 2.用户在点击全屏时,通过js api来控制webview旋转横屏 在手Q里,我们和终端的同学合作添加了控制...webview横竖屏的接口 在用户点击全屏的时候,先判断当前是否横屏 /** * 是否横屏 */ function isHorizontal() { if (window.orientation...mqq.ui.setWebViewBehavior({ orientation: 0 //0是竖屏,1是横屏 }); 如果是竖屏则强制webview旋转进入横屏

    5.5K130

    H5 直播避坑指南

    而一般用户进入页面基本都是竖屏,所以我们就要考虑怎么让用户在竖屏点击全屏按钮时,能体验到像终端app一样自动进入横屏全屏的体验,下面有两种方案 1.在用户点击全屏时候,通过css3属性旋转屏幕 通过css...这种模式的显示没有太大问题,但因为是通过css控制的页面dom显示,对于原生的空间不能很好的控制,如系统的键盘 ?...在拉起键盘输入弹幕的时候,键盘不受控制还是竖屏显示了 如果页面不涉及与原生组件的交互,那么这种方案是一种很可行且兼容性比较好的方案 2.用户在点击全屏时,通过js api来控制webview旋转横屏...在手Q里,我们和终端的同学合作添加了控制webview横竖屏的接口 在用户点击全屏的时候,先判断当前是否横屏 /** * 是否横屏 */ function isHorizontal...mqq.ui.setWebViewBehavior({ orientation: 0 //0是竖屏,1是横屏 }); 如果是竖屏则强制webview旋转进入横屏,同时监听页面的

    2.9K90

    android横竖屏切换问题

    这里提一个小知识,Android模拟器中,快捷键"Ctrl+F11/F12"可以实现转屏 五,自适应转换 如果想让它启动的时候是横屏的话就横屏表示,纵屏的话就纵屏表示,然后手机切换横竖屏就不能用了该怎么解决呢...super.onResume();   13. }   六、总结 总之,对于横竖屏切换的问题,统计了下,大家的解决办法是: ①不理会。。...  横竖屏分别布局的方法是:   在res下新建   layout-land 横屏   layout-port 竖屏   然后把layout中的xml文件分别考到以上目录,修改布局就可以了代码中不做任何更改...= fontScale 用户变更了首选的字体大小 = locale 用户选择了不同的语言设定 = keyboard 键盘类型变更,例如手机从12键盘切换到全键盘 = touchscreen或navigation...如果缺少了keyboardHidden选项 不能防止Activity的销毁 并且在之后提到的onConfigurationChanged事件中 只能捕获竖屏变横屏的事件 不能捕获横屏变竖屏 目标3

    2.6K20

    Android 必知必会 - DialogFragment 使用总结

    扩展阅读:Dialog 在屏幕翻转时的处理 无标题栏/全屏 在基本用法里代码注释有设置主题的地方,下面详细说下两种方法下设置无标题栏和实现全屏的方式: 无标题栏 对于方法 ① : @Override public..., R.style.CustomDialog); } 实现全屏(宽/高度全屏) 常用的形式大多是宽度上和屏幕一样宽,高度自适应,下面直接看代码: 方法 ① : @Override public Dialog...inflater.inflate(R.layout.fragment_dialog, container, false); //Do something // 设置宽度为屏宽...(例如网络请求)的情况下,不能正确的获取当前 Fragment 的状态,会产生空指针异常。...扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in

    4.3K31

    自用知识_实用小知识

    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容 Context.MODE_APPEND:模式会检查文件是否存在...该activity没有完全覆盖上一个activity onPause() 点击回退键 onResume() EditText 让其失去焦点,有焦点但不弹出输入键,内容改变监听 EditText...R.id.picture_title); ImageLoader.getInstance().displayImage(data.get(position).get(“URL”), picture_title); (横屏或竖屏...)Android强制设置横屏或竖屏 来源 http://2960629.blog.51cto.com/2950629/701227 全屏 requestWindowFeature(Window.FEATURE_NO_TITLE...横屏 按照下面代码示例修改Activity的onResume方法 @Override protected voidonResume() { /** * 设置为横屏 */ if(getRequestedOrientation

    63220

    关于EditText屏蔽焦点的问题,及为什么clearFocus()方法失效了?

    setFousable() //设置该视图是否可以接收焦点 setFocusableInTouchMode(); //设置该视图在触摸模式下是否可以接收焦点 这里借鉴大佬的解释。 ​...类似非触屏手机时代,需要使用键盘的上下左右去选中某个应用,然后点击确定执行。而触屏手机,我们只需要对应用点击一次,即可,无需焦点。也就是会所焦点是为了标记你目前选中的位置的。...而后者,显然是针对触屏情况下的,也就是我们点击屏幕的上的某个控件时,不要立即执行相应的点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。...android:focusable=“true”不会改变android:focusableInTouchMode,因此只在键盘状态下显示焦点,在TouchMode状态下,依旧无法显示焦点。...总结一下,也就是我们需要在父布局处添加 触控模式为true,即就是android:focusableInTouchMode="true",这样当清除焦点的时候,就会将焦点赋给父布局,而不是重置到第一个EditText

    1.2K20

    DialogFragment自动弹出软键盘,消失时关闭软键盘

    hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 在DialogFragment显示时弹出软键盘 在DialogFragment...复制代码 在DialogFragment消失时关闭软键盘 dialog关闭分为几种情况,处理方式不一样: 1.用户手动调用DialogFragment.dismiss() 这时可以重写dismiss方法...mService.hideSoftInput 断点发现当在onCancel中关闭软键盘时 mServedView为null,所以走不到关闭代码,看一下mServedView在哪赋值为null的 void...自定义Dialog在dismiss之前通知 DialogFragment 关闭软键盘 转变思路,既然在 DialogFragment 中无法提前监听dialog关闭,那就自定义Dialog重写dismiss...最后,还有一种方式就是使用全屏dialog,在原先空白区域加一个透明的View,设置view的点击事件去关闭软键盘和弹窗,这样就避免了点击空白处关闭的问题。

    5.2K40

    Android开发笔记(一百三十八)文本输入布局TextInputLayout

    不知大家有没有发现,往编辑框输入文字,手机在竖屏与横屏两种情况下的页面展示是不一样的。...如果不用TextInputLayout,只使用EditText的话,横屏时的编辑框也会显示提示文字;可是一旦加了TextInputLayout,再看横屏的编辑框,发现编辑框内的提示文字不见了,这是因为TextInputLayout...强行把提示文字从编辑框内挪到了编辑框上方,可这种做法没考虑到横屏时候的情况,所以造成横屏反而不显示提示文字的结果。...下面是使用TextInputLayout+EditText的横屏输入页面,可以看到此时编辑框内没有提示文字。 ?...所以呢,TextInputEditText与EditText的唯一区别就是,横屏时输入文字,是否会在编辑框内显示提示文字。

    2K30

    Android开发笔记(六十七)嵌入页面的碎片

    比如广告、地图等组件; 3、同一套代码可适配不同尺寸的屏幕,比如说同时适配竖屏与横屏,同时适配手机与平板等等; 动态注册 Fragment有两种使用方式,一种是动态注册,另一种是静态注册。...Fragment进阶 竖屏与横屏的兼容 前面我们说到,Fragment可用于切换不同尺寸的屏幕,为了实现这个功能,Android引入了碎片事务FragmentTransaction。...,手机与平板的切换可参照处理: 1、横屏的布局文件放在目录layout-land,竖屏的布局文件根节点采用FrameLayout,横屏的布局文件根节点采用LinearLayout(水平排列)。...2、代码中需要判断当前界面是横屏还是竖屏,然后补充相应的处理逻辑,例如竖屏时切换页面要增加“fragmentTrs.addToBackStack(null);”,这是模拟按下返回键时回到上个页面。...3、竖屏的页面切换后,因为根节点是FrameLayout,所以上一页面只是界面被覆盖了,可是点击事件这些都还在。

    1.3K60

    详解LayaAir引擎游戏屏幕适配,及有效抗锯齿

    例如 iPhone8在默认的竖屏状态下,物理分辨率表达为750 × 1334。横屏状态下,物理分辨率表达为1334 × 750 。所以大家需要能理解这些区别。...在不同的屏幕分辨率比例下,总会有适配规则不能覆盖到,难以做到既想等比缩放,又想在各种屏幕下都做到游戏内容满屏显示。但其实上,只要舞台宽高可以占满全屏,那就一定可以做到各屏幕全屏显示。...在noscale模式下的白屏背景那是浏览器默认的,说明画布就那么大,画布没覆盖到的地方就是白屏背景。...3.2.2 保高适配模式fixedheight fixedheight保高模式就是在保障设计高的内容一定全屏显示的等比缩放模式。这种模式推荐应用于横屏游戏。 在这个模式下,画布和舞台高会等于设计高。...这是一种设计宽高永远不会被裁剪的等比缩放全屏适配模式,但有可能会留出画布的背景色,如图12-4所示。 所以还是需要通过相对布局属性,进行全屏适配。该模式横屏游戏和竖屏游戏都适合。

    7.5K163

    vivo官网APP全机型UI适配方案

    下面没有介绍分栏模式的适配,因为分栏的模式也可能被用户关闭,最终成为全屏模式,所以说,可以选择只适配全屏模式,这样的适配成本较低。...2、弹框样式的兼容如下图所示,蓝色区域是键盘的高度,在屏幕进行旋转的时候,键盘的高度也是变化的,此时可能会出现遮挡住原本展示的内容,此处的处理方式是:让内容区域可以上下滑动。...Answer:按照全屏模式的设计方案,折叠屏和pad也就是一种大尺寸的机器,开发人员判断机型的分辨率和尺寸,选择一种对应的布局展示就好了,只用一个应用就能搞定。...2、适配了不同的机型,但是在一些场景下的样式不理想。 比如有些APP做了分栏的适配,但是没有做全屏的适配,效果就比较差,这里可能也是考虑到了投入产出比。...5.2.2 我们还有什么要改进回首方案,我们这里做到的是使用全屏模式去适配不同机型,更多的适用于像京东、淘宝、商城等电商类APP上,实际上,现在有些非APP会采用分栏的形式做适配,这也是一种跟用户交互的方式

    1.6K30

    Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

    最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText。...坑来了…… 上面的入门篇中,软键盘是由原生的EditText触发弹出的。...情况描述 这时候,情况就会变得复杂了: 首先,页面是非全屏模式的情况下,给activity设置adjustPan会失效。...——解释一下,这里的全屏模式即是页面是全屏的,包括Application或activity使用了Fullscreen主题、使用了『状态色着色』、『沉浸式状态栏』、『Immersive Mode』等等——...(获取软键盘高度的方法也出现了) 这时,就有: 全屏模式下,可用高度 = rect.bottom 非全屏模式,可用高度 = rect.bottom - rect.top 4.最后一步,重设高度 我们计算出的可用高度

    4.9K20

    Activity横竖屏切换的那些事

    reverseLandscape API 9 以上,反向横屏 reversePortrait API 9 以上,反向竖屏 sensorLandscape API 9 以上,横屏,但是可以根据 物理方向传感器来切换正反向横屏...下面我们一起来看一下几个常用的值得介绍,其他不常用的hi请自行查阅文档。官网地址: 值 描述 keyboardHidden 键盘的可访问性发生变化——例如:用户发现了硬件键盘。...》 横屏 onConfigurationChanged()方法会调用一次 横屏 》 竖屏 onConfigurationChanged()方法也会调用一次 因此我们通常可以进行相应的处理 public...当我们手动调用 setRequestedOrientation() 方法去改变屏幕的方向的时候,还是会调用 onConfigurationChanged 方法的 ---- 扩展 设置全屏模式 // 去掉...利用系统的加载机制自动帮我们加载相应的布局 如果大家在资源目录res 中添加了 layout-land(横向布局文件夹) 和 layout-port (竖想布局文件夹),重启Activity模式的横竖屏切换

    2.2K20

    android 自定义登陆对话框基类封装,且随着软键盘的弹起自动移动位置

    以下是工作中用到的管理员登录框,由于是双屏异显,在后屏弹出的对话框,没法调用系统软键盘,于是自己实现了个系统软件盘。 但一弹出来软键盘,对话框就被该住了!这怎么破?方法是有的。...就是本文介绍的,随着软键盘的弹起自动移动位置的对话框。 ? 先封装实现个baseDialog基础类,把通用的操作封装一下。...decorView.setSystemUiVisibility(uiOptions); } } protected void showBottomUIMenu() { //隐藏虚拟按键,并且全屏...Dialog的基础类,因为后屏的Dialog的像素密度跟前屏不一样,所以需要改下像素密度才能正常显示 * 前屏像素密度为1,后屏获取到的为2 */ public class BackDialog extends...> cls = EditText.class; Method setShowSoftInputOnFocus; try {

    72510

    三句代码创建全屏Dialog或者DialogFragment:带你从源码角度实现全屏Dialog

    Dialog是APP开发中常用的控件,同Activity类似,拥有独立的Window窗口,但是Dialog跟Activity还是有一定区别的,最明显的就是:默认情况下Dialog不是全屏的,所以布局实现不如...网上实现方式有不少,一般情况下也都能奏效,不过可能会有不少疑虑,比如:为什么有些窗口属性(隐藏标题)必须要在setContentView之前设置才有效,相反,也有些属性(全屏)要在之后设置才有效。...全屏Dialog 全屏Dialog实现方法 这里对象分为两种,一种是针对传统的Dialog,另一种是针对DialogFragment(推荐),方法也分为两种一种是利用代码实现,另一种是利用主题样式Theme...其实现全屏的原理同Dialog一样,只不过是时机的把握 public class FullScreen DialogFragment extends DialogFragment { @Nullable...false 但是Dialog的一般都进行了覆盖,而Activity默认没有覆盖windowIsFloating

    4.2K40
    领券