小编Kib*_*ibi的帖子

RecyclerView GridLayoutManager具有全宽标题

我在这里使用一个非常有用的示例来显示RecyclerView和GridLayoutManager以显示带有标题的网格.

它看起来很不错,但我的平面设计师希望标题项占据RecyclerView的整个宽度.现在有填充.

当我设置GridLayoutManager时,我添加填充(我仍然想要其他网格项):[它正在使用Xamarin C#]

var numColumns = myListView.MeasuredWidth / tileSizeMax;
myGridView.SetPadding(tilePadding, tilePadding, tilePadding, tilePadding);
layoutManager = new GridLayoutManager(Activity, numColumns);
myListView.SetLayoutManager(layoutManager);
Run Code Online (Sandbox Code Playgroud)

那么,如何将标题项的填充设置为不同...或者使其在填充上绘制?

android gridlayoutmanager android-recyclerview

25
推荐指数
1
解决办法
1万
查看次数

Google Play 错误地警告 com.google.android.gms.permission.AD_ID

最近,当我尝试上传我的应用程序时收到此消息:

This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID.
Run Code Online (Sandbox Code Playgroud)

我没有添加,也没有明确拥有该权限,但我从这里了解到,firebase auth 中的某些内容可能会使用它 - 所以我填写我使用此权限 - 这然后会触发另一个错误,我说我正在使用 AD_ID但我没有提到我正在使用广告。如果我随后提到我正在使用广告(我没有),控制台会告诉我,我必须特别注意我的广告(我没有)不会针对 13 岁以下的儿童,否则我需要说明的是,我的应用程序适用于 13 岁及以上人士。

如果我将我的应用程序更改为适用于 13 岁及以上用户,我会收到一条警告,如果它看起来像是针对儿童,我将被删除!

我到底做错了什么???我什至没有广告或想要广告,现在却被警告我不能让 13 岁以下的儿童下载我的应用程序?

有人可以建议我如何上传我完全无害的应用程序而不触发 Google Play 的愤怒吗?

android google-play firebase-authentication

10
推荐指数
1
解决办法
6609
查看次数

从Eclipse导入到Android Studio后无法运行执行失败的任务':app:dexDebug"

让一个Android项目在Eclipse(4.4.2)ADT中运行,在Linux上运行(Ubuntu 14.10).

我已经导入到Android Studio(1.1.0)并设法摆脱了我的初始编译错误.

接下来我想要的是在我的手机上运行 - 我按下绿色的"运行"按钮,过了一会儿我得到一个错误(当我只是在构建模块时,这不会出现,只有当我尝试运行时)

错误是这样的:

错误:任务':myapp:dexDebug'的执行失败.com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/ usr/lib/jvm/java-7-openjdk-amd64/bin/java''用非完成零退出值2

过去4个小时一直在寻找SO,但没有发现任何与我的项目相关的东西.还有其他地方我可以找到更有用的错误吗?

编辑: Aaarghh - 只是重新创建整个项目(而不是信任导入向导) - 我创建了一个新的Android Studio项目,导入了我的代码和资源,然后解决了所有编译和依赖项错误.通过一个明确的构建然后试图运行....同样该死的错误!完全相同的.我究竟做错了什么????

新build.gradle发布供参考:

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
compileSdkVersion 21
buildToolsVersion "21.1.1"

defaultConfig {
    applicationId "com.mycompany.app_Name"
    minSdkVersion 15
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

repositories { mavenCentral()
    maven { url 'https://maven.fabric.io/public' } …
Run Code Online (Sandbox Code Playgroud)

migration android eclipse-adt android-studio

8
推荐指数
1
解决办法
7943
查看次数

Android Maps ClusteredMarkers - 不显示unclustered?

我从这里使用Google Maps Android Marker Clustering Utility,我从我从服务器收到的列表中添加了一堆项目(大约700个).我已经解决了我最初的错误,我可以看到聚类,然后放大它们,看到它们分散成单个标记.然而,有几个项目与其他项目相距甚远,所以即使在最大缩小时,它们也永远不会聚集在一起.出于某种原因,这些项目不会显示在我的地图上 - 不是在我放大时,而是在我缩小时.

我已经检查了坐标,它们是真实的,在我开始使用群集之前,我可以看到这些项目没有问题,所以我假设我在我的群集代码中做错了.

这是一些代码:

private void setUpClusterer() {
    // Initialize the manager with the context and the map
    mClusterManager = new ClusterManager<>(getActivity(), map);
    vendorRenderer = new VendorRenderer();
    mClusterManager.setRenderer(vendorRenderer);
    mClusterManager.setOnClusterClickListener(this);
    mClusterManager.setOnClusterItemClickListener(this);
    //point the maps listeners at the listeners implemented by the cluster manager
    map.setOnCameraChangeListener(mClusterManager);
    map.setOnMarkerClickListener(mClusterManager);

    //add items to the cluster manager
    addClusterItems(-1);
    mClusterManager.cluster();
}

private void addClusterItems(int positionToMark) {
    if (null == list) {
        return;
    }
    LatLng position;
    int maxMarkers = Math.min(list.size(), getResources().getInteger(R.integer.number_of_results_on_map)); …
Run Code Online (Sandbox Code Playgroud)

android google-maps-markers markerclusterer google-maps-android-api-2

8
推荐指数
1
解决办法
1260
查看次数

kotlinOptions.useIR = true 升级到 Kotlin 1.7.10 后会导致错误

我收到了来自 android Studio 的通知,要求将我的应用程序更新到 Kotlin 1.7.10。(Kotlin 1.6.21 一切正常)当我这样做时,我开始收到该行的错误

kotlinOptions.useIR = true
Run Code Online (Sandbox Code Playgroud)

(我大约一年前把它放进去,当时我删除了

apply plugin: 'kotlin-android-extensions'
Run Code Online (Sandbox Code Playgroud)

当时我被告知这很糟糕,同时又添加了

    buildFeatures {
        viewBinding = true
    }
Run Code Online (Sandbox Code Playgroud)

我收到的 useIR 行错误是:

> No such property: useIR for class: org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl
  Possible solutions: useK2
Run Code Online (Sandbox Code Playgroud)

所以我将该行更改为:

    kotlinOptions.useK2 = true
Run Code Online (Sandbox Code Playgroud)

...但是重建会出现这样的错误:

> Task :app:kaptGenerateStubsDebugKotlin FAILED
  e: kapt currently doesn't support experimental K2 compiler
  Disable K2 compiler by removing -Xuse-k2 flag
Run Code Online (Sandbox Code Playgroud)

我的项目中唯一的“K2”是这一行 - 但如果我完全删除该行,我会得到:

Execution failed for task ':app:kaptDebugKotlin'.
  > A failure occurred while executing 
  org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
     > java.lang.reflect.InvocationTargetException (no error …
Run Code Online (Sandbox Code Playgroud)

kotlin android-studio

1
推荐指数
1
解决办法
1322
查看次数