小编Dem*_*n13的帖子

TextView用字母打破了我的话

我的要求:按内容宽度和最大宽度90%创建"入泡".

我有这个标记:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1.0"
    tools:background="@color/white_smoke">

    <LinearLayout
        android:id="@+id/flBubble"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:background="@drawable/bubble_in"
        android:layout_weight="0.9">

        <ImageView
            android:id="@+id/ivSay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="?android:attr/selectableItemBackground"
            android:contentDescription="@string/default_content_description"
            android:padding="8dp"
            android:src="@drawable/ic_play_circle_outline_black_24dp"
            android:tint="@color/primary"/>

        <TextView
            android:id="@+id/tvValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:padding="8dp"
            android:textColor="@color/black"
            android:textSize="16sp"
            tools:text="I would like to go to an Italian restaurant"/>
    </LinearLayout>

    <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="0.1"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

有时我得到以下结果: 糟糕的包装

但我希望得到以下结果(它错误地鼓励Android Studio预览中的屏幕截图): 预期的自动换行

如何防止restaraunt逐个字母的破坏?

UPDATE

虽然我使用minSdk = 15我尝试使用breakStrategy,但我没有得到预期的结果. android:breakStrategy="simple": 简单的休息策略

android:breakStrategy="balanced": 平衡休息策略

我发现了一个相关的问题:如果单词对于textview而言太长,则强制下一个单词到新行,但我没有看不出如何获得TextView的最大可用宽度layout_width="wrap_content

如果我可以TextView.setText根据需要覆盖和放置换行符,那将是很棒的.

java android textview

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

BillingClient.BillingClientStateListener.onBillingSetupFinished 被多次调用

我尝试使用 Kotlin 协程为 BillingClient v.2.2.0 编写一个包装器:

package com.cantalk.photopose.billing

import android.app.Activity
import android.content.Context
import com.android.billingclient.api.*
import com.android.billingclient.api.BillingClient.*
import com.cantalk.photopose.util.Logger
import kotlinx.coroutines.CompletableDeferred
import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException
import kotlin.coroutines.suspendCoroutine

class BillingClientAsync(context: Context) {
    private val billingClient: BillingClient = setupBillingClient(context)
    private val pendingPurchaseFlows = HashMap<String, CompletableDeferred<Purchase>>()

    private fun setupBillingClient(context: Context): BillingClient {
        return newBuilder(context)
            .enablePendingPurchases()
            .setListener { billingResult, purchases ->
                if (billingResult.responseCode == BillingResponseCode.OK && purchases != null) {
                    for (purchase in purchases) {
                        val deferred = pendingPurchaseFlows.remove(purchase.sku)
                        deferred?.complete(purchase)
                    }
                } else {
                    val …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-billing play-billing-library kotlin-coroutines

9
推荐指数
2
解决办法
1515
查看次数

Firebase Crashlytics仅显示调试版本的崩溃

我正在尝试Firebase Crashlytics。我使用以下指南进行设置:https : //firebase.google.com/docs/crashlytics/get-started

然后,我在调试中使用Test Crashes在模拟器上测试了实现,并发布了buildTypes:https ://firebase.google.com/docs/crashlytics/force-a-crash

但是在控制台中,我仅看到调试版本崩溃。当我选择发布内置下拉菜单时,我看到0崩溃。

logcat崩溃(所有构建类型)中,我看到下一条消息:

I/CrashlyticsCore: Crashlytics report upload complete: 5A265C440009-0001-0E3A-7685F7DB472C

什么地方出了错?

启用调试模式后的[更新]:

12-05 14:51:49.906 13234-13234/com.cantalk.ruen.dialogs D/gralloc_ranchu: Emulator without host-side GPU emulation detected.
12-05 14:51:50.146 13234-13236/com.cantalk.ruen.dialogs D/dalvikvm: GC_CONCURRENT freed 261K, 4% free 9691K/10055K, paused 0ms+1ms
12-05 14:51:50.146 13234-13254/com.cantalk.ruen.dialogs D/Fabric: Settings result was: 200
12-05 14:51:50.146 13234-13254/com.cantalk.ruen.dialogs D/Fabric: Settings request ID: e8411059b9619f4aab9d1da802350f42
12-05 14:51:50.146 13234-13254/com.cantalk.ruen.dialogs D/Fabric: Writing settings to cache file...
12-05 14:51:50.146 13234-13254/com.cantalk.ruen.dialogs D/Fabric: Loaded settings: {"cache_duration":7200,"settings_version":2,"app":{"update_required":true,"ndk_reports_url":"https:\/\/reports.crashlytics.com\/sdk-api\/v1\/platforms\/android\/apps\/com.cantalk.ruen.dialogs\/minidumps","reports_url":"https:\/\/reports.crashlytics.com\/spi\/v1\/platforms\/android\/apps\/com.cantalk.ruen.dialogs\/reports","status":"activated","identifier":"com.cantalk.ruen.dialogs","url":"https:\/\/api.crashlytics.com\/spi\/v1\/platforms\/android\/apps\/com.cantalk.ruen.dialogs"},"expires_at":1512492710153,"session":{"max_custom_key_value_pairs":64,"identifier_mask":255,"max_chained_exception_depth":16,"max_custom_exception_events":8,"max_complete_sessions_count":4,"log_buffer_size":64000},"features":{"push_enabled":true,"prompt_enabled":false,"collect_analytics":true,"collect_reports":true,"collect_logged_exceptions":true},"prompt":{"message":"Looks like we …
Run Code Online (Sandbox Code Playgroud)

android firebase crashlytics

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