gpt4 book ai didi

Android 在纵向文件夹中寻找资源,即使应用程序被锁定在横向

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:35 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。我的应用程序被锁定在景观上。我的应用程序是仅支持 7 英寸以上的平板电脑应用程序。所以我在 res 文件夹下创建了两个文件夹 - layout-sw600dp-land 和 layout-sw720dp-land 并将我所有的布局资源放在它下面。旋转屏幕时看起来不错,按预期工作。但是当我旋转我的屏幕并按下主页按钮时,android 在纵向文件夹中查找资源和应用程序崩溃,因为纵向文件夹中没有资源。为什么 android 会查看纵向文件夹,即使我在 list 中提到应用程序方向是横向的。请在下面查看我的代码。我做错了什么吗?

   android:name="com.example.activities.fragmentActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="sensorLandscape" >
</activity>

我的文件夹结构如下:

res
layout
layout-sw600dp-land
layout-sw720dp-land

当我将我的资源放在布局文件夹中时,它会防止崩溃。所以很明显是android在找资源画像文件夹。谁能帮我解决这个问题。

StackTrace

07-24 16:40:00.383: E/AndroidRuntime(16041): FATAL EXCEPTION: main
07-24 16:40:00.383: E/AndroidRuntime(16041): Process: com.sample.android, PID: 16041
07-24 16:40:00.383: E/AndroidRuntime(16041): android.content.res.Resources$NotFoundException: Resource ID #0x7f030003
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.content.res.Resources.getValue(Resources.java:1123)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2309)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.content.res.Resources.getLayout(Resources.java:939)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.view.LayoutInflater.inflate(LayoutInflater.java:395)
07-24 16:40:00.383: E/AndroidRuntime(16041): at com.sample.android.fragments.sampleFragment.onCreateView(sampleFragment.java:189)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.os.Handler.handleCallback(Handler.java:733)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.os.Handler.dispatchMessage(Handler.java:95)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.os.Looper.loop(Looper.java:136)
07-24 16:40:00.383: E/AndroidRuntime(16041): at android.app.ActivityThread.main(ActivityThread.java:5001)
07-24 16:40:00.383: E/AndroidRuntime(16041): at java.lang.reflect.Method.invokeNative(Native Method)
07-24 16:40:00.383: E/AndroidRuntime(16041): at java.lang.reflect.Method.invoke(Method.java:515)
07-24 16:40:00.383: E/AndroidRuntime(16041): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
07-24 16:40:00.383: E/AndroidRuntime(16041): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
07-24 16:40:00.383: E/AndroidRuntime(16041): at dalvik.system.NativeStart.main(Native Method)

最佳答案

我不认为在没有相应默认布局的情况下将布局(或任何其他资源)放在覆盖目录中是受支持的。当然,如果您将一个字符串放在 values-ll 目录中,而 values 中没有对应的字符串,lint 会报错。

我的建议是将 layout-sw600dp-land 的内容移动到 layout

您正在通过其他方式限制支持的设备,对吗?

关于Android 在纵向文件夹中寻找资源,即使应用程序被锁定在横向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24751420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com