小编Sir*_*mra的帖子

如何使样式大的 ProgressBar 宽度更窄 android?

我有麦克风图标并围绕麦克风图标,我需要放置进度条来处理一些运行过程,如下所示:

<ImageView
            android:id="@+id/iv_mic_movable"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="68dp"
            android:src="@drawable/record" />

        <ProgressBar
            android:id="@+id/pb_assist"
            style="?android:attr/progressBarStyleLarge"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="53dp"
            android:visibility="gone" />
Run Code Online (Sandbox Code Playgroud)

上面的代码显示的 UI 如下:

在此处输入图片说明

我想这样显示进度条,但是这个进度很粗。如何仅用 1dp 使它更薄一些?

xml android android-layout progress-bar

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

如何在 Android 中放置深色和浅色模式的启动画面?

在基于 Kotlin 的 Android 应用程序中,我使用样式属性开发了一个启动画面,如下代码所示:

可绘制文件(这个是浅色的,同样是深色的,具有不同的渐变颜色代码):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:angle="270"
                android:endColor="#43dc91"
                android:startColor="#29abe2" />
        </shape>
    </item>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/My_Image" />
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

Style 也有 2 个 style.xml 文件——一个用于深色,一个用于浅色:

 <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/splash_back</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

它是从清单中调用的:

<activity
            android:name="com.app.ui.splash.SplashActivity"
            android:theme="@style/SplashTheme">
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我的应用程序从浅色模式切换到暗模式时,用户将关闭应用程序然后再次打开应用程序,2 秒后,它仍然显示浅色模式闪屏,2 秒后,暗模式闪屏将加载。

这可能是因为当应用程序在启动活动 -> Oncreate 中加载时,我正在验证应用程序是否具有深色主题的偏好,然后加载深色模式,然后将我的应用程序切换到深色模式,如下所示:

private fun setAppTheme() {
        when {
            userHolder.theme != null -> {
                if (userHolder.theme == string_(R.string.text_dark_mode))
                    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
                else AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
            }
            else -> {
                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

遇到这种情况怎么办?在从样式和可绘制对象加载时,如何在第一个实例本身中加载暗模式飞溅?

android splash-screen kotlin

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

结合标志并清除Kotlin中的追溯轨迹

我正在使用kotlin开发android应用程序。在Android中,我们使用addFlags和setFlags设置标志并清除由“ |”分隔的回溯活动。如何在Kotlin中实现?我目前在Kotlin中使用以下代码:

startActivity(Intent(context, MyActivity::class.java)
            .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK))
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。我也尝试过addFlags,它也不起作用。在这种情况下应该做什么?

android backtrace android-activity kotlin

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

如何将数据从 Android 原生 - Kotlin 传递到 React Native?

我是 Android 中 React Native 集成的新手。我正在创建一个聊天应用程序,为此需要在我的 React Native 组件中传递 UserId 和另一个用户信息。我如何从 Android Native 传递它?我进行了搜索,但没有找到任何成功的线索。我尝试使用 SharedPreference 来完成此操作,但不知道如何在 React Native 中提取共享首选项持有者。还有其他方法可以提取此信息吗?

我在ReactActivity中创建了ReactRootView并在其中集成了ReactInstanceManager。

根据 Geng 和 Cool7 的回答,我已经实现了 Android Kotlin 代码,如下所示:

val map = Arguments.createMap()
    map.putString("user_id", "Value1")
    try {
        mReactInstanceManager?.currentReactContext
                ?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
                ?.emit("userEventMap", map)
    } catch (e: Exception) {
        Log.d("ChatActivity", "DeviceEventEmitter Caught Exception: " + e.printStackTrace())
    }
Run Code Online (Sandbox Code Playgroud)

我的 React 本机代码提取它如下:

componentWillMount() {
console.log("UserId Emission");
DeviceEventEmitter.addListener("userEventMap", function() {
  console.log("UserId Emission inside");
  console.log("UserId :: ", e.user_id);
});
Run Code Online (Sandbox Code Playgroud)

}

我也尝试过 Cool7 的同上代码,也像上面一样。但是 UserId Emission 正在打印,但内部日志没有打印。该发射器中未监听地图。

提前致谢。

android kotlin react-native

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

如何在 Kotlin 的 HashMap 中对时间的 Arraylist 项目进行分组?

我需要将时间组合在一起,例如 02:10 PM,02:30 PM 应该在 02:00 PM - 03:00 PM 中分组。我得到 yyyy-MM-dd'T'HH:mm:ss.SSS+00:00 格式的所有时间。如何以 02:10 PM 格式将时间分组?

目前我将它们转换为 hh:mm aa 格式并得到列表,如何将它们分组在 Arraylists 中并最终将它们存储在 Map 中,以便我可以在 Recyclerview 中列出时间?

android hashmap kotlin

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