出于某种原因,当我使用 RTL 时,我的 ListView 中的第一个条目总是以错误的方式翻转。例如:
ListView 位于 DialogFragment 中。
我已经更新了我的清单以支持 RTL(应用程序的其余部分工作正常)
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) 更新:好的,所以我进一步研究了这一点。设法使用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) 因此,我们正在尝试制作一个可在您旋转设备时(大约每3个角度)拍照的应用程序。但是,使用camera2时,我们旋转设备:
我仍在尝试弄清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) 我已经更新到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) 我们最近将我们的应用程序更新为 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 服务进行定位,所以希望这能解决这个问题。稍后会更新。