Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android设备使用的API目标样式低于应有的API目标样式_Android_Adb_Android Styles_Backwards Compatibility - Fatal编程技术网

Android设备使用的API目标样式低于应有的API目标样式

Android设备使用的API目标样式低于应有的API目标样式,android,adb,android-styles,backwards-compatibility,Android,Adb,Android Styles,Backwards Compatibility,我的安卓设备Pixel XL在安卓调试桥中用于调试目的时,似乎使用了我的应用程序的styles-v21 XML,而不是常规的styles XML 我的设备上的Android版本是8.1(API级别27),那么为什么它使用较低的API级别样式而不是其他样式呢?我是否误解了21及以下设备应该使用styles-v21,其他所有设备都应该使用常规styles.xml 我的项目的编译SDK版本和目标SDK版本是27:Android8.1(Oreo)。最小SDK版本为21 我是否误解了21及以下设备应该使用

我的安卓设备Pixel XL在安卓调试桥中用于调试目的时,似乎使用了我的应用程序的styles-v21 XML,而不是常规的styles XML

我的设备上的Android版本是8.1(API级别27),那么为什么它使用较低的API级别样式而不是其他样式呢?我是否误解了21及以下设备应该使用styles-v21,其他所有设备都应该使用常规styles.xml

我的项目的编译SDK版本和目标SDK版本是27:Android8.1(Oreo)。最小SDK版本为21

我是否误解了21及以下设备应该使用styles-v21,其他所有设备都应该使用常规styles.xml


假设您的意思是您同时拥有
values/styles.xml
values-v21/styles.xml
,那么“v21”版本将用于v21或更新的设备,而不是v21或更旧的设备。

谢谢!如果是这样的话,我应该为低于目标版本的每个主要API级别创建值/样式-v吗?或者,如果我在API级别超过21的情况下不添加任何“新”内容,那么删除“styles.xml”并单独使用styles-v21.xml似乎是最好的做法吗?@akinoreiki如果不知道您要做什么,这类问题很难回答。通常,您希望将“基本”样式放在
res/values/
中,然后将“新”样式(使用
android:elevation
)放在
res/values-v21/
中。根据我自己的经验,我不会太频繁地使用这些特例样式;我95%以上的工作都是在
res/values/
中完成的。我认为我的主题一直存在问题,因为我误解了styles.xml适用于以前的版本,而v21适用于21+API级别。这样,我就可以解决我的问题了。使用AppCompat主题值作为我的“更高级别”API主题,我认为是因为我混淆了主题而造成了混乱。我不确定我的解释是否有道理,但不管怎样,你都帮我解决了问题。非常感谢。