小编ard*_*evd的帖子

如果 android:animateLayoutChanges 在根布局上为 true,则 Snackbar 会闪烁

如果android:animateLayoutChanges设置为true. Snackbar 将在整个动画过程中反复闪烁。android:animateLayoutChanges从布局中删除参数解决了这个问题,但现在我无法享受它带来的好处。如果我android:animateLayoutChanges在子视图而不是根视图上使用,它也可以工作。

这是一个已知问题吗?有办法解决吗?

这是一个示例布局,如果显示小吃店,它将演示该问题。

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:animateLayoutChanges="true">

    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/bottomAppBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:backgroundTint="@color/colorPrimary"
        app:fabAlignmentMode="end"
        app:fabCradleMargin="4dp"
        app:fabCradleRoundedCornerRadius="16dp"
        app:fabCradleVerticalOffset="4dp"
        app:popupTheme="@style/ThemeOverlay.MaterialComponents.Light"
        app:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:backgroundTint="@color/colorAccent"
        app:layout_anchor="@id/bottomAppBar"
        app:srcCompat="@drawable/ic_add"
        app:tint="@color/colorWhite" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

android

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

REQUEST_TAKE_PHOTO和REQUEST_IMAGE_CAPTURE之间的区别

我读了如何利用现有的相机软件的设备上拍照,并返回到应用程序开发者文档在这里,我被当只需抓住一个缩略图,他们使用下面的代码的意图其实混淆

startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

但是,在拍照并保存完整文件时,他们会使用:

startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
Run Code Online (Sandbox Code Playgroud)

至少对我来说,REQUEST_TAKE_PHOTO无法解决,我无法在任何地方找到任何引用.谁知道两者之间的差异是什么?

android

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

删除Swift Array中出现的所有值

所以我有一个Int的数组,我正在尝试创建一个从数组中删除某个值的函数.但是,removeAtIndex()函数仅删除第一个匹配项,removeLast()仅删除最后一个匹配项.我尝试枚举数组,但我最终得到一个数组索引超出范围错误,可能是由于从数组中删除项目时发生的重新转换.

  for (index, value) in connectionTypeIDs.enumerate() {
            if (value == connectionTypeToDelete){
                connectionTypeIDs.removeAtIndex(index)
            }
        }
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何想法?

arrays swift

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

根据Swift中的UILabel文本调整UIView高度

所以我有一个简单的UIView,其中包含UILabel.目前,UIView的高度是硬编码的,当UILabel文本足够长以使内容需要比UIView提供的更高时,这是一个问题.

是否有一种简单的方法来计算UIView的适当高度,以显示所包含的UILabel中的所有内容?

谢谢!

ios swift

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

Android DataStore:从 Java 调用 Context.createDataStore

我正在尝试用 Java 实现新的类型化 DataStore API,但遇到了一些问题。所有文档似乎都只在 Kotlin 中,并且尝试创建新的数据存储从 Java 方面看起来并不那么简单。

DataStoreFactoryKt.createDataStore()从 Java调用需要我提供所有参数,包括 Kotlin 实现中具有默认值的参数。@JvmOverloads该函数似乎没有任何注释,导致我的困境。

fun <T> Context.createDataStore(
    fileName: String,
    serializer: Serializer<T>,
    corruptionHandler: ReplaceFileCorruptionHandler<T>? = null,
    migrations: List<DataMigration<T>> = listOf(),
    scope: CoroutineScope = CoroutineScope(Dispatchers.IO + SupervisorJob())
): DataStore<T> =
    DataStoreFactory.create(
        produceFile = { File(this.filesDir, "datastore/$fileName") },
        serializer = serializer,
        corruptionHandler = corruptionHandler,
        migrations = migrations,
        scope = scope
)
Run Code Online (Sandbox Code Playgroud)

如果有的话,有什么更好的方法来解决这个问题?或者 Data Store api 是否简单设计为仅与 Kotlin 一起使用?我不知道如何CoroutineScope从 Java 中提供一个论点。

android kotlin

5
推荐指数
2
解决办法
2248
查看次数

在Android 4.4.2上以编程方式插入SMS

我有以下代码在旧版本的Android中可以正常工作,但在4.4.2上没有.在logcat中没有发生任何错误,也没有任何错误,但消息未显示在模拟器中的默认SMS应用程序中.所以我的问题是为什么它不能用于4.4.2以及我必须做些什么才能使它再次工作.

private void addSMS()
{       
    Uri uri = Uri.parse("content://sms/");
    ContentValues cv2 = new ContentValues();
    cv2.put("address", "+91956322222");
    cv2.put("date", "1309632433677");
    cv2.put("read", 1);
    cv2.put("type", 2);
    cv2.put("body", "Hey");
    getContentResolver().insert(uri, cv2);
    /** This is very important line to solve the problem */
    getContentResolver().delete(Uri.parse("content://sms/conversations/-1"), null, null);
    cv2.clear();
  }
Run Code Online (Sandbox Code Playgroud)

sms android

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

小部件setOnClickPendingIntent

所以,我很难弄清楚如何让我的应用程序小部件以我想要的方式工作,或者甚至可能.

Widget有一个ImageView,我分配setOnClickPendingIntent给它.但是,我想要完成的只是实例化一个类,并在用户点击ImageViewapp小部件时调用该类中的方法.但是,PendingIntent除了启动活动之外,我怎样才能做其他事情呢?不确定这是否有意义,但我真的很感激帮助.

           // Create an Intent to launch MainActivity
            Intent intent = new Intent(context, MainActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
                    /**
                    /* However, I want to simply do something like this
                    /* MyClass mc = new MyClass(context);
                    /* mc.toggleEnable();
                    */

            // Get the layout for the App Widget and attach an on-click listener
            // to the button
            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
            views.setOnClickPendingIntent(R.id.imageViewWidgetToggle, pendingIntent);
Run Code Online (Sandbox Code Playgroud)

android

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

FileProvider:发送文件时没有数据

我已经配置了一个 FileProvider 并且我正在尝试发送文件,但是处理意图的外部应用程序(Google Drive 等)会抛出一个错误,指出该意图不包含任何数据。我在这里缺少什么?

            File backupPath = new File(getContext().getFilesDir(), "backups");
            File backupFile = new File(backupPath, clickedBackup.getFilename());
            Uri contentUri = getUriForFile(getContext(), "com.test.app.fileprovider", backupFile);

            // create new Intent
            Intent intent = new Intent(Intent.ACTION_SEND);
            // set flag to give temporary permission to external app to use your FileProvider
            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.setDataAndType(
                    contentUri,
                    getContext().getContentResolver().getType(contentUri));
            // validate that the device can open your File!
            PackageManager pm = getActivity().getPackageManager();
            if (intent.resolveActivity(pm) != null) {
                startActivity(intent);
            }
Run Code Online (Sandbox Code Playgroud)

Logcat 显示以下内容:

12-18 12:47:55.554  1698  2490 I ActivityManager: START u0 …
Run Code Online (Sandbox Code Playgroud)

android

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

检查给定字符是否为空格

在我的脚本中,我接受一个字符串,循环遍历每个字符并将其传递给一个函数,该函数使用一个switch case来检查它是什么字符并采取相应的行动.它工作正常,但它似乎无法匹配空白字符.我可以使用什么表示法?

注意:只有一个字符将被传递到此函数中,因此我只需要弄清楚这个单个字符是否是空白字符.

代码中的代码段

    " ")
        doSomething
        ;;
    "a")
        doSomethingElse
        ;;
    "b")
        doSomethingElse
        ;;
    "c")
        doSomethingElse
        ;;
Run Code Online (Sandbox Code Playgroud)

也试过了

    *\ * )
        tap 388 1127
        ;;
Run Code Online (Sandbox Code Playgroud)

谢谢!

bash

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

使用Firebase 17.0.1进行INSTANCE_ID_EVENT操作怎么办?

因此,既然FirebaseInstanceIdService服务已被弃用,我不确定用什么替换它。

我以前在清单中声明了一个服务,如下所示:

        <service
            android:name=".fcm.FcmIdService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
Run Code Online (Sandbox Code Playgroud)

服务本身:

public class FcmIdService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
        // Create notification channel.
        createFcmNotificationChannel();
    }

}
Run Code Online (Sandbox Code Playgroud)

如果删除该服务,我将不再收到通知,因此我假设我必须用其他东西代替它。

谢谢。

编辑:该问题与建议的重复问题有所不同,它还涵盖了对我仍然不清楚的受影响服务的清单声明。

android firebase firebase-cloud-messaging

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

UITableView 中没有设置 Content = Static Cells 的选项?

所以这可能是一个微不足道的问题,但我不断遇到 TableView 的属性检查器的 Xcode 屏幕截图,该视图具有可以在其中指定静态内容的内容属性。然而,就我而言,该属性无处可寻。

注意标记的属性

请注意该属性如何不存在。

有谁知道这是为什么吗?

uitableview ios

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

房间、线程和插入/删除查询

所以我知道 Room 不处理线程,所以由开发人员来确保它不在主线程上运行查询。

在 AsyncTasks 中包装所有查询似乎非常麻烦,但我意识到我可以改用 LiveData。但是,我假设这仅适用于数据查询,而不适用于插入和删除查询?那么我是否仍然希望将它们包装在 AsyncTask 中(不求助于其他第三方库?)还是有更好的选择?

android android-room

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