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

【Android 安装包优化】Android 中使用 SVG 图片 ( 使用 appcompat 支持库兼容 5.0 以下版本的 Android 系统使用矢量图 )

文章目录 一、使用 appcompat 支持库兼容 5.0 以下版本的 Android 系统使用矢量图 二、完整代码示例 1、build.gradle 构建脚本 2、布局文件 3、运行效果 三、参考资料...:appcompat-v7 支持库版本需要 23.2 以上 , 或使用 androidx.appcompat:appcompat 支持库 ; Gradle 插件 , 版本需要 2.0 以上 ; 满足上述版本要求后..., build.gradle 构建脚本的 " android / defaultConfig " 层级下 , 添加矢量图支持 , vectorDrawables.useSupportLibrary...= true ; dependencies 添加支持库 : compile 'com.android.support:appcompat-v7:23.2.0' 或 implementation...:23.2.0' implementation 'androidx.appcompat:appcompat:1.2.0' } 引用矢量图 : 布局文件 , 使用 app:srcCompat 属性标签

59220

三种菜单控件的兼容性问题处理集锦

我们Android Studio里面创建一个新的Activity代码,默认都是继承AppCompatActivity,而且build.gradle也指定了appcompat-v7的编译版本,举例如下...: compile 'com.android.support:appcompat-v7:24.2.0' 现在就是跟appcompat-v7版本有关,经过多方实验,如果编译用的appcompat-v7...版本大等于22.1.0,那么openOptionsMenu方法失效;如果appcompat-v7版本小于22.1.0,比如使用21.0.3版本来编译,那么openOptionsMenu方法是能够弹出菜单的...所以解决这个问题有两种办法: 1、页面代码继承AppCompatActivity,同时build.gradle中指定较低版本appcompat-v7来编译(但无法使用新版本的功能),具体配置修改如下...这是因为Toolbar控件不是位于内核的addroid.jar,也不是位于v4的兼容包android-support-v4.jar,而是位于appcompat-v7的兼容包,开发者要在工程appcompat-v7

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

Android Support 和 AndroidX

0x2、AndroidX Library的出现 从Android 9.0 (API 28) 开始,appcompat-v7:28.0.0 作为 Support Library的 终结版本,未来的新特性和改进都会进入...API版本号,如下面的appcompat-v7变成了appcompat库; api 'com.android.support:appcompat-v7:28.0.0' api 'androidx.appcompat...如果迁移失败,就重复下面的①②③④步进行手动迁移吧~ ① 版本要求 Android Studio → 升级到3.2及以上; Gradle插件 → 升级到4.6及以上,可在gradle/wrapper/gradle-wrapper.propertie...配置 项目的gradle.properties文件添加下述配置: 当前项目启用androidx android.useAndroidX=true 依赖包也迁移到androidx,一般写true 如果设为...androidx对错误的检查和处理更严格,同一个xml布局文件存在同名id会报错。 ④ attr.xml 重复的属性名称会报错?

2.3K10

Android四种依赖管理方法应用对比

本文介绍四种主要的Android依赖管理方式,分析它们的优点、缺点以及最佳实践。 引言 Android应用开发,依赖管理是一个关键的任务。...传统的依赖方法 传统的依赖管理方式是项目的build.gradle文件中直接添加依赖项,这是最常见的方法之一。...添加更多依赖... } 主项目的build.gradle中使用这些依赖项: dependencies { implementation Dependencies.appCompat...Composing builds Composing builds是Android Gradle插件的一项新功能,它允许构建逻辑拆分为多个独立的构建模块。...} } 主项目的settings.gradle文件定义构建模块: includeBuild('path/to/composeBuilds') 构建模块创建一个build.gradle.kts

63120

Android使用TextInputLayout创建登陆页面

在你的build.gradle文件添加如下依赖: dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])...如果Gradle没有自动询问同步项目,选择build菜单的Make module ‘app’ ,或者按F9。...不幸的是,如果你不告诉它,安卓不会自动的隐藏虚拟键盘。onClick方法体调用hideKeyboard。...这直接影响到布局的大小,增加底部padding为错误标签让出空间。setError设置错误消息之前开启这个功能意味着显示错误的时候布局不会变化。你可以把这两个方法结合起来验证下我所说的。...设计范例,控件的实现需要让用户输入的过程不会丢失上下文信息,它是去年跟Material Design一起被谷歌介绍的。在这之前,没有让开发者这个控件应用到实际项目中的支持库。

1.6K10

TextInputLayout-Android M新控件

在你的build.gradle文件添加如下依赖: compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support...:design:23.1.1' 如果Gradle没有自动询问同步项目,选择build菜单的Make module ‘app’ ,或者按Ctrl +F9。...不幸的是,如果你不告诉它,安卓不会自动的隐藏虚拟键盘。onClick方法体调用hideKeyboard。...这直接影响到布局的大小,增加底部padding为错误标签让出空间。setError设置错误消息之前开启这个功能意味着显示错误的时候布局不会变化。你可以把这两个方法结合起来验证下我所说的。...设计范例,控件的实现需要让用户输入的过程不会丢失上下文信息,它是去年跟Material Design一起被谷歌介绍的。在这之前,没有让开发者这个控件应用到实际项目中的支持库。

74020

Android--SVG安卓系统的应用

2.1以上的所有系统,只需要引用com.android.support:appcompat-v7:23.2.0以上的版本就可以了。...(所谓的兼容也是个坑爹的兼容,即低版本非真实使用SVG,而是生成PNG图片) Vector Drawable:相对于普通的Drawable来说,有以下几个好处: 1.Vector图像可以自动进行适配...接下来是我们程序员需要注意的地方,工程中使用Vector Drawable兼容5.0以下的版本方法 1、使用Android Studio 2.2以上的版本gradle版本2.0以上 1.1、gradle...添加 defaultConfig { vectorDrawables.useSupportLibrary = true } 1.2、gradle添加 compile...'com.android.support:appcompat-v7:25.3.1' //需要是23.2 版本以上的 1.3、Activity需要继承与AppCompatActivity 1.4、布局文件当中添加

2.7K20

史上最全的Android build.gradle配置教程

添加了一个后缀,一般使用的不多 versionNameSuffix 'test'//applicationId 添加了一个后缀,一般使用的不多 } debug {// 测试环境...applicationIdSuffix:和defaultConfig配置是一的,这里是applicationId 添加了一个后缀,一般使用的不多。...当然,如果想要debug版本的包,指令assembleRelease改为assembleDebug即可。...:appcompat-v7:27.1.1’为一个标准的远程依赖库格式,其中com.android.support为域名部分,用于区分不同公司的库;appcompat-v7为组件名称,用于区分同一个公司的不同库...加上这句声明后,Gradle构建项目时会先检查一下本地是否已经缓存过该库,若没有缓存则自动联网下载,下载后自动添加到项目的构建路径中去。

3.6K30

史上最全Android build.gradle配置详解(小结)

添加了一个后缀,一般使用的不多 versionNameSuffix 'test'//applicationId 添加了一个后缀,一般使用的不多 } debug {//...applicationIdSuffix :和defaultConfig配置是一的,这里是applicationId 添加了一个后缀,一般使用的不多。...当然,如果想要debug版本的包,指令assembleRelease改为assembleDebug即可。...:appcompat-v7:27.1.1’为一个标准的远程依赖库格式,其中com.android.support为域名部分,用于区分不同公司的库;appcompat-v7为组件名称,用于区分同一个公司的不同库...加上这句声明后,Gradle构建项目时会先检查一下本地是否已经缓存过该库,若没有缓存则自动联网下载,下载后自动添加到项目的构建路径中去。

1.7K20

从HelloWorld开始了解Android

5. .gitignore 这个文件是用来制定的目录或文件排除版本控制之外的。 6. build.gradle 这是项目全局的gradle构建脚本,通常这个文件的内容是不需要修改的。...因为Android程序的设计讲究逻辑和视图分离,因此是不推荐活动中直接编写界面的,通常是布局文件(也就是layout文件夹下面)编写界面,然后再活动引入进来,setContentView(R.layout.activity_main...这个是控件视图界面我们点击Text切换到文字视图界面 ? 点击最右侧导航栏的Preview可以同时看到你的layout界面。如下图所示 ? 这样看起来会不会好很多呢。...用于和其他公司的库做区分;appcompat-v7是组名称,用于和同一个公司不同的库做区分;24.2.1是版本号,用于和同一个库不同的版本做区分。...加上这句声明以后,Gradle构建项目时会首先检查一下本地是否已经有这个库的缓存,如果没有的话则会自动去联网下载,然后再添加到项目的构建路径

1K40

关于Android添加fragment后版本不兼容问题

后来终于找到个和版本兼容有关的解决方案,要在app目录下的build.gradle添加如下代码才可以: configurations.all { resolutionStrategy.eachDependency...implementation 'com.android.support:appcompat-v7:26.0.0-beta1' implementation 'com.android.support.constraint...看看Dependency里,com.android.support:appcompat-v7:26.0.0-beta1和com.android.support:support-v4:26.1.0两个版本就是矛盾的啊...看一下git的记录,26.1.0这一行就是新加的,肯定就是新建BlankFragment类的时候AndroidStudio自动添加的。再回头看看出错日志,说的不也是同一个意思?...不得不吐槽一下AndroidStudio,你既然要自动版本依赖,就把版本兼容性也一起检查了呗。不然还不如不要加,让我们自己来。最讨厌这种半自动化的东西,最坑人。

40510

AndroidX

二、配置 AS更新至 AS 3.2及以上; Gradle 插件版本改为 4.6及以上; 项目下 gradle/wrapper/gradle-wrapper.propertie 文件的distributionUrl...项目的gradle.properties文件里添加如下配置: android.useAndroidX=true # Automatically convert third-party libraries...to use AndroidX android.enableJetifier=true 替换依赖库 implementation 'com.android.support:appcompat-v7:28.0.2...四、AndroidStudio自动转换 AS 3.2 及以上版本提供了更加方便快捷的方法一键迁移到 AndroidX。选择菜单上的ReFactor —— Migrate to AndroidX......六、需要注意的问题 通过字符串引用的对象 有时候我们会通过字符串引用一些对象,而这些对象换到AndroidX后,路径变了,用原来的字符串引用不到了,所以我们要格外地注意一下。

2.8K50

Kotlin + buildSrc:更好的管理Gadle依赖!

为了充分利用Android Plugin for Gradle 3.0+的优点,Android项目拆分成多个module的做法越来越常见。...Google推荐:使用gradle的extra属性 GoogleAndroid官方文档推荐这种管理依赖的方法。许多项目例如ButterKnife、Picasso等都在使用这种方法。...Gradle文档中有这样一段话: 当你运行Gradle时,它会检查项目中是否存在一个名为buildSrc的目录。然后Gradle自动编译并测试这段代码,并将其放入构建脚本的类路径。...Sync任务,现在我们可以Android Studio访问Dependencies.kt任何值了。...它支持自动补全和单击跳转,使得您无需文件之间手动来回切换,方便你更好的管理Gradle依赖。

2.3K10

Android studio里$rootProject的妙用

gradle统一入口版本管理的初衷是解决一个项目只要一个地方修改,各个有引用的模块便可以自动生效,从而达到了一个地方修改各个地方生效的好处,同时能保持gradle引用库版本的一致。...使用方法如下: 1.首先在项目级别的build.gradle文件底部添加如下信息: ext{ // Sdk and tools minSdkVersion = 15 targetSdkVersion...{ implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "com.android.support:appcompat-v7...使用过程遇到的坑: 如果在dependencies通过下面的引用方式就会报错,这里必须使用双引号"",使用单引号''就会报错,不知道gradle内部机制是怎么处理的,这里折腾了半天才知道是单引号引起的问题...implementation 'com.android.support:appcompat-v7:$rootProject.v7Version'

2K10

安卓入门-熟悉Android Studio以及创建第一个安卓模块

其实Android程序的设计讲究逻辑和视图分离,因此是不推荐活动中直接编写界面的,更加通用的一种做法是: 布局文件编写界面 然后活动引入进来  可以看到,onCreate() 方法的第二行调用了...布局文件都是定义res/layout目录下的,当你展开layout目录,你会看到hello_world_layout.xml这个文件。打开该文件并切换到Text视图,代码如下所示: <?...项目中一般会出现2个或者多个 build.gradle 文件,一个根目录下,一个 app 目录下。如果切换到 Android 模式下则全部 Gradle Scripts: ?...,用于和其他公司的库做区分;appcompat-v7 是组名称,用于和同一个公司不同的库做区分;24.2.1是版本号,用于和同一个库不同的版本做区分。...加上这句声明后,Gradle构建项目时会首先检查一下本地是否已经有这个库的缓存,如果没有的话则会去自动联网下载,然后再添加到项目的构建路径当中。

1.8K30

Android Support vs AndroidX

AndroidX Library 的出现 从Android 9.0 (API 28) 开始,appcompat-v7:28.0.0 作为 Support Library的 终结版本,未来的新特性和改进都会进入...②命名规则→ AndroidX Library 中所有的库命名规则不再包含具体的操作系统API版本号,如下面的appcompat-v7变成了appcompat库。...api 'com.android.support:appcompat-v7:28.0.0' api 'androidx.appcompat:appcompat:1.0.0' 从Support 过渡到 AndroidX...如果迁移失败,就重复下面的①②③④步进行手动迁移吧~ ① 版本要求 Android Studio → 升级到3.2及以上; Gradle插件 → 升级到4.6及以上,可在gradle/wrapper/gradle-wrapper.propertie...配置 项目的 gradle.properties 文件添加下述配置: # 当前项目启用androidx android.useAndroidX=true # 依赖包也迁移到androidx,一般写

1.1K20

【Android Gradle 插件】Gradle 依赖管理 ⑥ ( dependencies 依赖查找路径 | dependencies 依赖冲突 | dependencies 依赖库层级分析 )

\support 路径 , 就是依赖中常用的支持库 : 二、dependencies 依赖冲突问题 ---- 添加构建依赖项 参考文档 : https://developer.android.google.cn...:app:assembleDebug 命令 , 进行编译打包时 ; 在编译打包时 , 就会出现依赖冲突问题 , appcompat-v7 函数库依赖了 appcompat-v4 函数库 , fresco...⑤ ( dependencies 依赖项拆分 | 依赖组 | 依赖名称 | 依赖版本号 | 动态指定依赖版本号 | 使用命令行查看模块 ) 中介绍了如果配置了两个相同的依赖 , 则选取较高版本的依赖库..., 因此原理上 , 不会出现依赖冲突问题 ; 三、dependencies 依赖库层级分析 ---- 分析依赖问题 , 就需要查看依赖情况 , Terminal 面板执行 gradlew :app...:dependencies 命令 , 查看依赖的情况 , 逐个排查依赖冲突问题 ; 输出日志 , 可以查看顶层依赖库 , 与依赖库的依赖库之间的依赖关系 ; com.android.support.constraint

1.2K40
领券