精华内容
下载资源
问答
  • android适配

    千次阅读 2020-09-08 19:55:14
    2012(android4.1之前)2013(android4.2)2014(android4.4以下)2014(android4.4以下) 2.密码明文存储漏洞 设置默认开启密码保存功能为false,存到webview db中 3.域控制不严格漏洞 a应用通过b应用导出的...

    1.任意代码执行漏洞

    2012(android4.1之前)2013(android4.2)2014(android4.4以下)2014(android4.4以下)

    2.密码明文存储漏洞

    设置默认开启密码保存功能为false,存到webview db中

    3.域控制不严格漏洞

    a应用通过b应用导出的activity,让b应用加载一个恶意的url,从而可以获取b应用内部的文件。

    android6.0

    1.运行时权限
    2.增加低耗电模式和应用待机模式
    3.取消支持Apache HTTP客户端
    4.移除硬件标识符访问权
    5.WLAN和网络连接变更
    6.相机服务变更

    android7.0

    1.私有文件访问权限更改
    访问其他应用私有文件,或者提供私有文件给其他应用访问FileProvider
    requestLegacyExternalStorage

    2.多窗口支持(分屏显示)
    特点:
    1.分屏模式不会更改activity生命周期
    2.在分屏模式下只有一个activity会获得焦点,其他activity都是paause
    3.分屏模式下调整窗户大小,会回调onConfigurationChanged
    4.如果根activity允许多窗口支持,那么与它同一个栈中的activity都被允许多窗口模式(及时没有设置)
    5.某些系统选项api将被禁用,比如非全屏模式下,无法隐藏状态栏
    6.系统将忽略android:ScreenOrientation属性所做的更改
    适配:
    1.如果外层布局式ScrollView,RecyclerView,ListView界面将不受影响
    2.如果固定宽高,设置android:minimalHeight,android:minimalWidth
    3.禁止分屏:activity清单设置android:esizableActivity=false

    3.通知增强功能
    4.随时随地低电耗模式
    5.多语言区域支持,更多语言
    6.Chrome和Webview配合使用
    7.APK signatrue scheme v2

    android8.0

    1.通知渠道
    增加新闻通知,广告通知
    2.启动图标
    不同厂商对图标有不同的规范,google规范:前景层背景透明的logo,背景层纯色或带纹理图片,组合后会被盖上一层mask,mask由厂商决定
    3.统一的布局外边距和内边距
    4.自动填充框架
    5.画中画模式
    6.多显示器支持
    7.诶提增强功能

    android9.0

    1.网络安全变化
    禁止app使用未加密的连接,清单application下配置android:networkSecurityConfig
    2.显示屏缺口支持
    3.渠道设置,广播和请勿扰
    4.多摄像头支持和摄像头更新
    5.无障碍功能

    android10

    1.Android 10 新增了一个系统级的深色主题(在系统设置中开启)。虽然深色主题并不是强制适配项,但是它可以带给用户更好的体验:

    可大幅减少耗电量。 OLED 屏幕中每个像素都是自主发光,所以在显示深色元素时像素所消耗的电流更低,尤其在纯黑颜色时像素点可以完全关闭来达到省电的效果。
    为弱视以及对强光敏感的用户提高可视性。深色可以降低屏幕的整体视觉亮度,减少对眼睛的视觉压力。
    让所有人都可以在光线较暗的环境中更轻松地使用设备。
    

    5.标识符和数据

    对不可重置的设备标识符实施了限制
    6.其他

    Android10上对折叠屏设备有了更好的支持,对于有折叠屏适配的需求,

    展开全文
  • Android适配总结

    千次阅读 2017-03-19 12:45:00
    Android适配的同学们头疼的一件事就是机型的适配了,因为Android系统开源的缘故,市面上有太多太多的手机型号,厂商私自定制rom,不同的屏幕尺寸,不同的屏幕分辨率,不同的系统版本不同的API,都给Android工程师...

    做Android适配的同学们头疼的一件事就是机型的适配了,因为Android系统开源的缘故,市面上有太多太多的手机型号,厂商私自定制rom,不同的屏幕尺寸,不同的屏幕分辨率,不同的系统版本不同的API,都给Android工程师们带了五花八门的适配难题。本文尝试对常见的适配问题及解决方案做一个归纳总结。

    系统版本适配

    这应该是相对最好解决的一类适配问题。因为Android系统的演进,有些旧的API过时了被丢弃,而又有些新的API被引入进来。如果开发中不注意,比如,app目标最低sdk版本是14,但是其中调用了level 23才引入的API,则会造成app崩溃。

    解决这类问题的办法也很简单,判断Android系统版本,针对不同的版本调用不同level的API。Build类中的

    Build.VERSION.SDK_INT可以获取当前系统的版本,将它与期望的目标版本标即可。

    ROM适配

    因为Android是一个开源的系统,所以很多厂商机会都会对rom进行深度定制,这又给做Android app开发的同学们带了很多烦恼。你加班加点的要解决的,可能是一个在其它手机上都正常,但是在某个厂商的某个特定机型上就会崩溃的bug(同一厂商的不同机型都可能存在这样的问题……)。
    因为市面上的机型如此之多,在实验室测试时是不可能涵盖所有机型的。针对rom的问题,首先需要建立app的log收集系统,在崩溃发生时记录厂商,机型,崩溃栈等信息,并上报的服务器。从统计信息中就可以通过分析log定位问题了。如果确定是只有某一特殊机型的问题,那么,要么修改代码,采用该机型可以适配的通用方案,或者,在原有方案的基础上,针对该机型增加特例方案。
    Android获取厂商和设备信息的API:android.os.Build.MANUFACTURER,android.os.Build.MODEL。

    屏幕适配

    这将是本文的重点,也是Adroid开发中需要重点解决的适配问题。

    支持不同大小的屏幕

    合理使用wrap_content,match_parent。

    尽可能的使用RelativeLayout。

    针对不同尺寸的屏幕,使用不同的布局文件:

    res/layout/main.xml

    res/layout-large/main.xml

    合理使用.9图片。

    支持不同屏幕密度的设备

    1.使用与屏幕密度无关的单位——dp,sp。
    dp的定义如下:
    Density-independent pixel (dp)独立像素密度。标准是160dip.即1dp对应1个pixel,计算公式如:px = dp * (dpi / 160),屏幕密度越大,1dp对应 的像素点越多。 
    上面的公式中有个dpi,dpi为DPI是Dots Per Inch(每英寸所打印的点数),也就是当设备的dpi为160的时候1px=1dp;

    dp在适配中的作用是:在布局文件写某个View的宽和高为160dp*160dp,这个View在任何分辨率的屏幕中,显示的尺寸大小是大约是一致的(可能不精确),大概是 1 inch * 1 inch。
    dp能够让同一数值在不同的分辨率展示出大致相同的尺寸大小。但是当设备的尺寸差异较大的时候,就无能为力了。适配的问题还需要我们自己去做,于是我们可能会这么做:
    <?xml version="1.0" encoding="utf-8"?>  
    <resources>  
        <!-- values-hdpi 480X800 -->  
        <dimen name="imagewidth">120dip</dimen>      
    </resources>  
    
    <resources>  
        <!-- values-hdpi-1280x800 -->  
        <dimen name="imagewidth">220dip</dimen>      
    </resources>  
    
    
    <?xml version="1.0" encoding="utf-8"?>  
    <resources>  
        <!-- values-hdpi  480X320 -->  
        <dimen name="imagewidth">80dip</dimen>      
    </resources>
    为了优质的用户体验,依然需要去针对不同的dpi设置,编写多套数值文件。可以看出,dp并没有能解决适配问题。

    2.使用百分比

    做过web开发的同学都知道,宽度,高度,margin,padding等等和尺寸有关的属性,都可以使用百分比。这样就非常灵活了,所以,web机会不存在适配的

    问题(其实也存在,不同浏览器,以及不同移动设备的适配)。But,在Android不支持百分比的时候。。。实现类似百分比的功能,可能需要1、代码去动态计算;2、利用weight(weight必须依赖Linearlayout,而且并不能适用于任何场景)。

    不过,目前Google也已经提供了官方的解决方案,这里有个栗子:https://github.com/JulienGenoud/android-percent-support-lib-sample。

    其实,上文提到的使用match_parent,也是个百分比的例子——100%。

    3. 对不同分辨率提供不同的图片

    这不单可以解决适配的问题,同时能提高性能。如果对所有设备都提供一套图片,Android系统本身提供了机制,在加载图片的时候,会根据目标设备对图片进行适当的缩放,以获得最佳的显示效果。当然,如果设备尺寸差别较大,显示效果就不理想了。同时,这个缩放的过程明显是要占用cpu,gpu时间的。如果提前针对不同设备准备不同的图片,就可以尽可能的省去这个过程。当然,代码是增加了包的尺寸。空间和时间,总是一对对立的矛盾统一。

    展开全文
  • Android适配:字体的大小适配

    千次阅读 2017-02-22 15:22:32
    Android适配:字体的大小适配 Android最让大家头疼的莫过于适配了,由于机型,屏幕等各种原因,适配是真心费劲,在这儿我简单的讲一下个人在项目中字体的一些简单适配方法: 假设需要适应320x240,480x320...

    Android适配:字体的大小适配

    Android最让大家头疼的莫过于适配了,由于机型,屏幕等各种原因,适配是真心费劲,在这儿我简单的讲一下个人在项目中字体的一些简单适配方法:

    假设需要适应320x240,480x320分辨率。在res目录下新建文件夹values-320x240, values-480x320。
    然后在文件夹 values ,values-320x240 和 values-480x320 下新建xml文件dimens.xml,废话不多说,该xml文件内容如下:

    vaules-320x240下的dimens.xml内容如下:

    <!--?xml version="1.0" encoding="utf-8"?-->
    <resources>
        <dimen name="ourTextSize">18sp</dimen>
    </resources>

    values-480x320 下的dimens.xml内容如下:

    <!--?xml version="1.0" encoding="utf-8"?-->
    <resources>
        <dimen name="ourTextSize">18sp</dimen>
    </resources>

    针对不同分辨率的手机,android系统会自动适配加载相应文件中的字体的大小值,ourTextSize的值是不同的。在布局文件中引用的方式如下:

    <TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:gravity="center" 
    android:id="@+id/tv"
    style="@style/text_sp"
    android:textsize="@dimen/ourTextSize">
    </TextView>

    在java文件中这样调用:
    int size= (int)this.getResources().getDimension(R.dimen.Text_size);



    展开全文
  • Android适配之适配不同的系统版本

    千次阅读 2016-11-08 18:53:17
    Android适配之适配不同的系统版本 前言 新的Android版本会为你的app提供更棒的APIs,但你的app仍应该支持旧版本的Android,直到更多的设备升级到新版本为止。这节课程向你展示如何在利用新的APIs的同时仍支持...

    Android适配之适配不同的系统版本

    前言

    新的Android版本会为你的app提供更棒的APIs,但你的app仍应该支持旧版本的Android,直到更多的设备升级到新版本为止。这节课程向你展示如何在利用新的APIs的同时仍支持旧版本Android。

    Platform Versions的控制面板会定时更新,通过统计访问Google Play Store的设备数量,来显示运行每个版本的安卓设备的分布。一般情况下,在更新你的app至最新Android版本时,最好先保证你的新版app可以支持90%的设备使用。

    Tip:为了能在几个Android版本中都能提供最好的特性和功能,你应该在你的app中使用Android Support Library,它能使你的app能在旧平台上使用最近的几个平台的APIs。

    指定最小和目标API级别

    AndroidManifest.xml文件中描述了你的app的细节,并且标明app支持哪些Android版本。具体来说,元素中的minSdkVersion和targetSdkVersion 属性,标明在设计和测试app时,最低兼容API的级别和最高适用的API级别(这个最高的级别是需要通过你的测试的)。例如:

    <code class="hljs r has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><manifest xmlns:android=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://schemas.android.com/apk/res/android"</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span> >
        <uses-sdk android:minSdkVersion=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"4"</span> android:targetSdkVersion=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"15"</span> />
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span>
    </manifest>
    </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

    随着新版本Android的发布,一些风格和行为可能会改变,为了能使你的app能利用这些变化,而且能适配不同风格的用户的设备,你应该设置targetSdkVersion的值去匹配最新的可用Android版本

    在运行时检查系统版本

    Android在Build常量类中提供了对每一个版本的唯一代号,在你的app中使用这些代号可以建立条件,保证依赖于高级别的API的代码,只会在这些API在当前系统中可用时,才会执行。

    <code class="hljs cs has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">setUpActionBar</span>() {
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// Make sure we're running on Honeycomb or higher to use ActionBar APIs</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            ActionBar actionBar = getActionBar();
            actionBar.setDisplayHomeAsUpEnabled(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>);
        }
    }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li></ul>

    Note:当解析XML资源时,Android会忽略当前设备不支持的XML属性。所以你可以安全地使用较新版本的XML属性,而不需要担心旧版本Android遇到这些代码时会崩溃。例如如果你设置targetSdkVersion=”11”,你的app会在Android 3.0或更高时默认包含ActionBar。然后添加menu items到action bar时,你需要在你的menu XML资源中设置android:showAsAction=”ifRoom”。在跨版本的XML文件中这么做是安全的,因为旧版本的Android会简单地忽略showAsAction属性(就是这样,你并不需要用到res/menu-v11/中单独版本的文件)。

    使用平台风格和主题

    Android提供了用户体验主题,为app提供基础操作系统的外观和体验。这些主题可以在manifest文件中被应用于你的app中.通过使用内置的风格和主题,你的app自然地随着Android新版本的发布,自动适配最新的外观和体验.

    • 使你的activity看起来像对话框:
    <code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">activity</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:theme</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@android:style/Theme.Dialog"</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

    这里写图片描述

    • 使你的activity有一个透明背景:
    <code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">activity</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:theme</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@android:style/Theme.Translucent"</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

    这里写图片描述

    • 应用在/res/values/styles.xml中定义的自定义主题:
    <code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">activity</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:theme</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@style/CustomTheme"</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
    • 使整个app应用一个主题(全部activities)在元素中添加android:theme属性:
    <code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">application</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:theme</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@style/CustomTheme"</span>></span></code>
    展开全文
  • Android适配--dimen

    千次阅读 2016-05-19 19:30:25
    说起Android适配,大家是不是觉得特别头疼,但是Android适配技能是每个Android程序员必备的,也是面试中会必须问到的。 适配的方式有好多种,什么图片适配啊,布局适配啊,当然还有现在的开源框架,当然,或许有人...
  • Android适配低内存

    千次阅读 2014-12-02 20:19:51
    Android适配低内存 5.1 介绍 Android现在支持512MB内存的设备。该文档的旨在指导OEMs厂商优化和配置android4.4上的低内存设备。 5.2 Android平台优化 5.2.1 改善内存管理
  • Android 适配Q版本Beta2

    千次阅读 2019-04-29 17:28:27
    Android适配Q版本Beta2 背景 谷歌API LEVEL要求,应用2019上架谷歌Play商店需要应用升级自己的targetSdkVersion到28。具体参考 本次主要改动点: 1、TargetSdkVersion>=28。 2、适配Android Q系统 升级...
  • Android适配之适配不同语言,即国际化概述国际化,能够让我们的app被使用不同国家地域使用,感觉是件很酷的事情。但是,市场上大部分app都没有做国际化方面的工作,因为没有必要,大点的app,如微信,微博等也只是多...
  • Android适配多摄像头

    千次阅读 2018-09-28 10:50:52
    对此,对于Android开发者来说,就需要完成这方面的适配工作。 多摄像头 一台设备有多个摄像头没什么新鲜的,但是直到现在,Android 设备仍然最多只有前后两个摄像头。而新出的Android P系统将打破这一常规,今...
  • android适配硬件平台

    千次阅读 2010-12-17 19:56:00
    介绍android适配不同硬件平台需要实现的模块功能及相关脚本的实现
  • webrtc 使用crosswalk解决Android适配问题

    千次阅读 2018-07-30 16:30:38
    webrtc 使用crosswalk解决Android适配问题 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 由于Android本身的碎片化问题,再加上国内的安卓,厂商各种魔改,阉割,导致原生的Android webrtc在手机上...
  • Android适配(图片、布局)

    千次阅读 2016-12-08 14:09:26
    Android适配 首先屏幕适配这个问题已经困扰了我很久,一直没有找到很好的解决办法,看了鸿洋大神的博客感觉发现了新大陆一样,以后适配可以像web开发一样利用百分比来控制控件的大小和排版了,谷歌给我们提供了...
  • Android适配之今日头条适配方案

    千次阅读 2019-05-21 14:43:00
    前介: 头条适配是根据设计图宽度,算出density(可以理解为密度),继而算出dpi,替换系统中的dpi.则XML即可按照UI所给设计图设置宽度...import android.app.Application; public class App extends Application{ @Ov...
  • 关于Android适配版本Q

    千次阅读 2019-07-29 11:34:43
    对于Android Q 也就是Android 10.0的到来大家做好准备了吗, 这篇博客用来给大家普及Android Q 适配知识的普及。 当然本人首推的是官方Google的文档,不关官方更新到那个版本我们开发者肯定关心的是如何适配。 1 ...
  • Android适配-ROM适配

    千次阅读 2018-03-10 18:19:37
    (二)沉浸式状态栏图标的适配 2.2.1 小米MIUI系统适配 之前做沉浸式状态栏,由于公司APP底色是白色,所以对MIUI进行特殊处理。在MIUI V6及以上版本,调用MIUI的方法将状态栏图标改为黑色。发现部分小米手机,这样的...
  • Android适配之虚拟按键遮挡布局

    万次阅读 2016-08-31 15:47:35
    android适配中,有时候会遇到手机自带的虚拟键遮挡住底部导航栏或其他布局的情况,如下图:这时候怎么办? 解决方法: 在activity的onCreate方法中看情况加上下面的代码: //状态栏 @ 顶部getWindow()....
  • Android适配-版本适配

    千次阅读 2018-03-10 18:17:41
    二、Android 8.0适配报错:Only fullscreen opaque activities can request orientation解决方案: 出现的原因: 绝大多数都是因为我们为了提高用户体验,手动取消App启动白屏或者黑屏的时候,将Splash界面设为了...
  • android适配问题

    千次阅读 2013-10-20 21:11:36
    做了半年android,遇到不少适配问题。 适配问题分两种,一种是各个版本间适配,一种是屏幕分辨率适配。 下面我们就针对这两种适配分别进行说明。作为一个菜鸟,很多理解可能不到位,请大家指正。 关于各个版本间适配...
  • Android适配方法之dimen适配

    千次阅读 2017-01-09 10:33:48
    详细讲解了dimens适配。此种适配,虽然占用一定空间,但是非常好用!
  • Android 适配那点事儿

    千次阅读 2017-02-05 13:27:27
    一、屏幕适配的基本概念 屏幕尺寸(Screen size) 屏幕密度(Screen density) 方向(Orientation) ...利用Android限定符 wrap_content、match_parent、weight属性 nine patch(.9)文件 适配不同尺寸的屏幕
  • 首先来说一下Android的屏幕适配:  关于Android屏幕的一些基本概念知识,自行充电。。在此只介绍实际开发过程中的使用  1、说到Android的屏幕适配,首当其冲的就是图片的适配  图片适配遵循两个原则: ①...
  • android 适配android 8.0时遇到的问题

    千次阅读 2017-10-13 11:01:13
    前几天某应用平台通知我,说我没有适配android O,让我适配之后再进行上传更新. 虽说android 8.0出了一段时间了,但毕竟常用的机型中没有,所以没有适配.也是个人漏洞 然后在Pixel XL和Nexus 6P上运行了项目,提示出: ...
  • Android适配解决方案

    千次阅读 2016-11-29 14:40:25
    昨天就这个问题去找答案,结果最后扯到了Android适配上,本来吧我觉得自己开发Android这么久了,适配什么的早已不是问题,但是图样图森破啊,还是太年轻。目录(已经掌握的部分可以跳过):基础知识(dp,px,dpi,sp...
  • Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效
  • Android适配曲面屏

    千次阅读 2018-08-02 10:54:08
    前面写了两篇适配 https://blog.csdn.net/qq_30711091/article/details/81332753 https://blog.csdn.net/qq_30711091/article/details/81318184 适配曲面屏很简单 曲面屏因为有曲面,导致布局有时会在曲面部分,...
  • Android 适配横屏

    千次阅读 2015-08-03 16:40:51
    今天书看到Android中横屏的适配。如图,在横屏模式下屏幕布局发生了偏差。 可以看出横屏模式下右侧有明显的空间。 为适配横屏有两种方式,一种是使用相对布局,以屏幕边界作为参照点进行布局。先上图。 ...
  • Android 适配android平板高清适配

    千次阅读 2013-12-10 17:12:56
    android平板标准分辨率为1280*752,标准密度为160dpi 高清pad 三星高清pad为2560*1600,密度为320dpi 昂达高清pad为2048×1440,密度为320dpi 分辨率和DPI不成正比, 我们人眼看到的大小 与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,889
精华内容 8,755
关键字:

android适配