android - 检查 gradle 文件中是否是平板电脑

标签 android android-studio gradle kotlin android-gradle-plugin

我正在设计一个应用程序,如果在智能手机上运行,​​它的方向应该固定在纵向,或者在平板电脑上固定在横向。

所以我试图在 gradle 文件上使用 list 占位符,以便在应用程序的 list 上设置 screenOrientation 属性。问题是,我无法验证 gradle 文件的屏幕大小。有没有办法检查它是否是 build.gradle 上的平板电脑?或者也许我可以通过不同的方式获得相同的结果?

我尝试的另一件事是使用从带有 sw600dp 限定符的资源文件中获取的 bool 资源。但是 android studio 给出一个错误,指出它无法引用因 list 文件配置而异的资源。

代码:

AndroidManiefst.xml

...

<activity
    ...
    android:screenOrientation="${fixedOrientation}">

build.gradle
android {
    def portrait = 'portrait'
    def landscape = 'landscape'
    ...
    manifestPlaceholders.fixedOrientation = "$landscape"
}

fixedOrientation 目前是静态的,我想让它动态化。

最佳答案

is there a way to check if it is a tablet on build.gradle?



并不真地。
build.gradle包含构建说明,仅此而已。而且,这些构建说明用于构建原则上可以在手机、平板电脑、电视、汽车、 watch 或 Jumbotron[1] 上运行的应用程序

[1] 您需要提供自己的 Android 驱动的 Jumbotron

Gradle 最接近的事情是如果你想要不同的 APK,一个用于手机,一个用于平板电脑。然后,Gradle 将参与制作这些单独的 APK 所需的产品 flavor 的设置。但我不知道您将如何安排将一个 APK 分配给手机,而将另一个 APK 分配给平板电脑。

如果 Gradle 只是构建一个 APK,那么这个 APK 既适用于手机又适用于平板电脑,因此 Gradle 在构建时无法知道任何给定用户使用的是手机还是平板电脑。或超大屏幕。

关于android - 检查 gradle 文件中是否是平板电脑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60566456/

相关文章:

android-studio - 无法打开 Assets URL( ionic 电容器)

android - 如何将 Actionbarsherlock 添加到 android studio 项目

java - 无法在自定义 gradle 插件实现中使用外部依赖项

android - Gradle构建失败-需要Gradle 1.10版。当前版本是2.8

java - 内部类成员变量未正确分配

android - 奇怪的 ListView 滚动问题

android - Google Apps 引擎后端 - 缺少 Javax.persistence - Android Studio

android - Appcompat Activity 提供版本 24.0.0 的问题

android - 音频过滤安卓

java - 我的 ImageButton 没有像代码告诉它的那样重新缩放。事实上它什么也没做