我有麦克风图标并围绕麦克风图标,我需要放置进度条来处理一些运行过程,如下所示:
<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 使它更薄一些?
在基于 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)
遇到这种情况怎么办?在从样式和可绘制对象加载时,如何在第一个实例本身中加载暗模式飞溅?
我正在使用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 中 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 正在打印,但内部日志没有打印。该发射器中未监听地图。
提前致谢。
我需要将时间组合在一起,例如 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 中列出时间?