这个问题的标题并不完全反映我的问题,因为它过于冗长,我已经修剪了它。抱歉我的英语不好。
好的,
我正在使用一个有活动的库,我在我的应用程序中使用该活动。这种活动的方向在平板电脑上运行良好,即横向和纵向,但在手机中它坚持纵向模式。
当我看到该库的清单文件时,它就像
<activity
android:name="DrawingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:finishOnTaskLaunch="true"
android:screenOrientation="unspecified">
在帖子Android Orentation Changes中。我开始知道应该像android:screenOrientation =“fullSensor”一样工作。
现在我试图覆盖活动的screenOrientation属性,如here
使用tools:replace
属性,但仍无效。请任何人帮我解决这个问题。
这就是我想要实现的目标。
<activity
android:name="DrawingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:finishOnTaskLaunch="true"
android:screenOrientation="fullSensor"
tools:replace="android:screenOrientation">
如果我的问题不清楚/过于宽泛,请告诉我我会编辑我的问题。
此致
答案 0 :(得分:1)
<activity
android:name="DrawingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:finishOnTaskLaunch="true"
android:screenOrientation="fullSensor"
tools:replace="screenOrientation">
请勿使用android:screenOrientation
而是使用screenOrientation
答案 1 :(得分:0)
您可以使用tools:node="merge"
,例如:
<activity android:name="DrawingActivity"
android:screenOrientation="fullSensor"
tools:node="merge">
</activity>
此节点将与现有节点合并,并覆盖所有重复项。
有关此的更多详细信息,请参见https://developer.android.com/studio/build/manifest-merge#node_markers
答案 2 :(得分:0)
这将起作用:
tools:node =“替换”
您的情况应该是:
<activity
android:name="DrawingActivity"
android:screenOrientation="fullSensor"
tools:node="replace" />
它将替换库中添加的所有attr,在这种情况下,该属性将从“ unspecified”到“ fullSensor”为“ screenOrientation”。
答案 3 :(得分:0)
尝试这个:-
<activity android:name="DrawingActivity"
tools:replace="android:screenOrientation"
android:screenOrientation="fullSensor">
</activity>
答案 4 :(得分:-1)
将库导入为模块而不是使用Gradle,因此您可以更改代码