Android SDK版本向上兼容问题

调皮捣蛋豆瓣酱 2016-03-28 03:02:48
问题在于:我使用了一个android.widget.TextClock组件,该组件是API17也就是安卓4.2版本推出的。我的minSdkVersion是14的。在activity_main.xml中配置组件时遇到如下问题

看到错误提示,我就将minSdkVersion设置成了17,表示编译正常,运行没问题。

但是我为了兼容更低版本到安卓4.0(API为14),我将minSdkVersion改回14来了,这样子来就会报错。我试着加入support v7包,试验过后依然不行。

后来找了好久,试了好些法子都没有成功,比如设置tools属性

这样会编译正常,但是运行就会出错了

还试了这样写:

也是编译正常通过,但是运行都是报错:



下面是我的build.gradle代码
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "pan.bai.myapplication"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
}


问下大家如何解决这类低版本使用高版本组件的问题啊?谢谢!


...全文
515 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 xingzhong128 的回复:
试试用support包,也就是v4或者v7下面看看有没有这个兼容的控件
我都看过了,support包4和7下面都没有这个类,其实我觉得楼上说的,实在不行,自定义实现android.widget.TextClock也是一个不错方法,谢谢
xingzhong128 2016-03-28
  • 打赏
  • 举报
回复
试试用support包,也就是v4或者v7下面看看有没有这个兼容的控件
sagittarius1988 2016-03-28
  • 打赏
  • 举报
回复
可以尝试自己实现这个控件
  • 打赏
  • 举报
回复
引用 3 楼 bdmh 的回复:
用不了,你这个app在低版本上就会报错,所以尽量不要用不兼容的组件,要么就把你的最小支持改大点
你好,那像是这类问题,Android就没有一个解决方案吗?
bdmh 2016-03-28
  • 打赏
  • 举报
回复
用不了,你这个app在低版本上就会报错,所以尽量不要用不兼容的组件,要么就把你的最小支持改大点
  • 打赏
  • 举报
回复
还是没有人来帮帮我吗
  • 打赏
  • 举报
回复
欢迎大家共同讨论问题

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧