小编Zee*_*Zee的帖子

ListView 的第一个条目对于 RTL 总是不正确

出于某种原因,当我使用 RTL 时,我的 ListView 中的第一个条目总是以错误的方式翻转。例如:

ListView 中的元素翻转了错误的方式 附加信息:

  1. ListView 位于 DialogFragment 中。

  2. 我已经更新了我的清单以支持 RTL(应用程序的其余部分工作正常)

  3. ListView 有一个 Adapter,每个项目的布局如下所示:

    <ImageView
        android:id="@+id/dropdown_icon"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:src="@drawable/photo_button_disabled"
        android:layout_gravity="center_horizontal"/>
    
    <ImageView
        android:id="@+id/count_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="false"
        android:scaleType="fitCenter"
        android:layout_alignEnd="@+id/dropdown_icon"
        android:layout_alignRight="@+id/dropdown_icon"
        android:layout_alignStart="@+id/dropdown_icon"
        android:layout_alignLeft="@+id/dropdown_icon"
        android:layout_alignTop="@+id/dropdown_icon"
        android:layout_alignBottom="@+id/dropdown_icon"
        android:adjustViewBounds="true"/>
    
    Run Code Online (Sandbox Code Playgroud)

虽然对话框片段的布局如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:background="@drawable/rounded_bg">

<TextView
    android:id="@+id/title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="@android:color/white"
    android:textStyle="bold"
    android:textSize="@dimen/dialog_title"
    android:padding="10dp"/>

<LinearLayout
    android:layout_below="@+id/title"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!-- This table should be populated with all the different options -->
        <ListView
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/entry_list"
            android:divider="?android:attr/dividerHorizontal" …
Run Code Online (Sandbox Code Playgroud)

layout android listview right-to-left

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

RenderScript和PlayStore 64位要求

更新:好的,所以我进一步研究了这一点。设法使用bundletool尝试测试了不同的apk,发现了这一点:

“ App Bundle包含32位RenderScript位代码文件(.bc),它将在Android中禁用64位支持。”

有谁知道我该如何解决?渲染脚本构成了项目中非常重要的一部分。

我正在尝试使我的应用程序与新的PlayStore要求兼容64位。我们确实在应用程序中使用了RenderScript,所以我想知道这是否会引起问题?而且,如何解决这些问题?渲染脚本是一个非常小的脚本,它仅根据输入输出带有绿色或红色部分的位图。

#pragma version(1)
#pragma rs java_package_name(za.co.overtake)

int*reds;
int*greens;
int*blues;
int imgWidth;

uchar4 RS_KERNEL root(uchar4 in, uint32_t x, uint32_t y) {
   bool colourme = false;

   for(int col = 0; col < imgWidth; col++){

      const int red = reds[col];
      const int green = greens[col];
      const int blue = blues[col];

      if (in.r == red && in.g == green && in.b == blue){
        colourme = true;
       }
   }
   if (colourme) {
      // Cannot increase red amount much as it …
Run Code Online (Sandbox Code Playgroud)

64-bit android android-renderscript

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

Camera2控制的连拍模式

因此,我们正在尝试制作一个可在您旋转设备时(大约每3个角度)拍照的应用程序。但是,使用camera2时,我们旋转设备:

  1. 每次拍照时,预览都会滞后
  2. 几张图像后,onCaptureFailed触发,代码为0

我仍在尝试弄清Camera2(似乎很多人认为它非常棒,因此我想尽全力,但它相当复杂)。我下载了RAW示例(https://github.com/googlesamples/android-Camera2Raw),并对其进行了修改,使其能够如上所述工作。

以前,我们使用过时的相机api,该api在Samsung s8-BUT上可100%正常工作,但在旧设备上会失败,因为拍摄图像的速度太快而无法处理。但是,我看到这些较旧的设备实际上确实允许一个人拍摄连拍照片-因此,相机2肯定可以以某种方式使用此功能吗?

请注意:我不想拍摄连拍照片,因为这会导致在角度尚未改变的情况下拍摄图像。这是我需要更改的代码:

 // Gets called whenever the sensor gives me a value. calculates if it is time to take the next photo
 private void updateAngle(double angle) {
    mCurrentAngle = angle;
    double photoAngle = angle - mOffset < 0 ? CONST_360 + angle - mOffset : angle - mOffset;

    if (photoAngle < mPrevAngle) {
        tvZAxis.setText("You are going the wrong way");
        Log.w("BROKEN", mPrevAngle + "  " + photoAngle);
        return;
    }

    if (mStart) {
        double diff …
Run Code Online (Sandbox Code Playgroud)

android android-camera2

6
推荐指数
0
解决办法
162
查看次数

RenderScript在macOS Catalina(10.15)上损坏

我已经更新到MacOS Catalina。今天早上,当我在做Android项目时,它突然开始出现以下异常:“错误:原因:错误= 86,可执行文件中的CPU类型错误”。

我怀疑它是因为我更新到了macOS 10.15,并且因为我试图为我的项目构建APK(因此它重建了renderscript的东西)。这是给定的完整堆栈跟踪:

org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld''
    at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:232)
    at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:209)
    at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:356)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)
    at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:38)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:748)
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld'
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
    at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
    at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:97)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:70)
    ... 7 more
Caused by: java.io.IOException: Cannot run program "/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld" (in directory "/Users/name/Documents/Projects/onlinetrucks_android/MyApplication/app"): error=86, Bad CPU type in executable
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
    ... 10 more
Caused by: java.io.IOException: error=86, …
Run Code Online (Sandbox Code Playgroud)

macos android renderscript macos-catalina

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

Android:截击 NoClassDefFoundError

我们最近将我们的应用程序更新为 targetSDK 28。它一直运行良好,但一位用户在运行该应用程序时总是崩溃。在这里,正如我们在 Google Play 崩溃报告中看到的那样:

java.lang.NoClassDefFoundError: 
at com.android.volley.toolbox.HurlStack.performRequest (HurlStack.java:109)
at com.android.volley.toolbox.BasicNetwork.performRequest (BasicNetwork.java:97)
at com.android.volley.NetworkDispatcher.run (NetworkDispatcher.java:114)
Caused by: java.lang.ClassNotFoundException: 
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
Run Code Online (Sandbox Code Playgroud)

索尼 Xperia 和 Android 9 正在发生这种情况。这似乎与我们在应用程序打开后立即拨打的电话有关(截击),但我们无法在内部重现该问题,因此很难准确查明发生了什么。

我该如何解决这个问题?

更新:好的,所以这是在黑暗中的疯狂拍摄,但根据此我需要更新我的清单:https : //developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library

我们确实使用 google play 服务进行定位,所以希望这能解决这个问题。稍后会更新。

android android-volley

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