我正在开发一款Android应用,我将minSDK
设置为11,将targetSDK
设置为18.当我的应用在Android 4.0.3设备上运行时,它看起来像是在ICS之前运行。为什么?
我的意思是EditText
(s)和其他UI元素具有非Holo主题。请考虑以下图片。我在设计中看到了这一点,应该在运行时看到相同的内容:
但我在设备(4.0.3)中看到了这一点:
清单和样式(部分与问题有关)
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 11 theme customizations can go here. -->
</style>
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
答案 0 :(得分:1)
根据Android开发人员的说法,视图的主题将根据最低sdk版本进行兼容。
实际上在eclipse的图形布局中没有渲染到最小的sdk版本 但当你来到真正的设备时,兼容性就会出现。
解决方案是你可以为每个视图使用自己的主题,或者你可以选择这个..
答案 1 :(得分:0)
您可以在设置布局文件图形布局时设置布局。
如果您使用的是eclipse,则可以在图形布局页面上更改apptheme。可以选择不同级别的API,App主题,设备
您可以对它们进行试验以清楚地了解您的问题