在使用标准的 Yandex 地图 API 时,有一个参数isNightModeEnabled可以将地图切换到暗模式,StaticApi 是否有这种可能性?- 我在文档https://tech.yandex.ru/maps/staticapi/doc/1.x/dg/concepts/input_params-docpage/中没有发现任何提及这种可能性,也许还有其他方法?
archi39's questions
在我的应用程序中,配置了与 Firebase 云消息传递 (FCM) 的集成,成功进入FirebaseMessagingService. 在收到来自 FCM 的通知后,该服务会为手机创建一个通知并将其发送到status bar。如果用户点击窗帘中的通知,应用程序会进入intent,进入onCreate或进入onNewIntent,取决于应用程序是否关闭。对于用户已经打开应用程序并正在观看内容的情况,新通知的到来通过 处理BroadcastReceiver。一切正常,除了 1 种情况下收到通知并且应用程序完全关闭(即不位于应用程序的后台,不被其他人阻止等),并且用户决定使用快捷方式打开应用程序,而不是通过status bar.
那么,如何从中获取通知status bar并访问其中存储的数据呢intent?
在 CollapsingToolbarLayout 内部有一个带有嵌套 AppBarLayout 的 CoordinatorLayout,其中有一个工具栏 + 图片。AppBar 下方是一个带有嵌套片段的 ViewPager。ViewPager 有行为:appbar_scrolling_view_behavior. 因此,当滚动片段的内容时,应用栏会折叠。
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/bottomNavViewCoreAct"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout
style="@style/AppBarLayoutSchool"
android:id="@+id/appBarCoreAct">
<com.google.android.material.appbar.CollapsingToolbarLayout
style="@style/CollapsingToolbar"
android:id="@+id/collapsToolbarCoreAct"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleTextAppearance="@style/CollapsingTextAppearance.Inverse"
app:contentScrim="?colorPrimary">
<ImageView
android:layout_width="fill_parent"
android:layout_height="300dp"
android:src="@drawable/london_flat"
android:tint="@color/colorWhiteAlfa"
android:scaleType="centerCrop"
android:contentDescription="@string/service_image_item"
android:id="@+id/imgToolbarCoreAct"/>
<androidx.appcompat.widget.Toolbar
style="@style/Toolbar"
android:id="@+id/toolbarCoreAct"
app:layout_collapseMode="pin"/>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager.widget.ViewPager
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/viewPagerCore"
android:layout_below="@+id/appBarCoreAct"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
但是,在其中一个片段中,我需要折叠 AppBar 并将其固定在此位置。
val appBarCoreAct = findViewById<AppBarLayout>(R.id.appBarCoreAct)
appBarCoreAct.setExpanded(false)
上面的代码只是折叠了工具栏,但它会继续展开。如果你设置一个标志CollapsingToolbarLayout
(collapsToolbarCoreAct.layoutParams as AppBarLayout.LayoutParams).scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP
该图像将是全尺寸(大约是屏幕的一半)。我尝试更改图像的大小并在设置标志时使其不可见,但在这种情况下,标题为CollapsingToolbarLayout.
告诉我如何折叠 AppBarLayout 并防止它在滚动时展开。
有一个数据类:
data class LoginResponse(
val accost: String? = null,
val name: String? = null,
val fullname: String? = null,
)
类中的数据来自服务,字段是可选的。任务是检查所有字段是否为空,如果该字段不为空且不为空,则将其分配给一个变量:
var accost = "друг"
该变量稍后将用于问候用户。目前实现如下:
if(!LoginResponse.accost.isNullOrEmpty())
accost = LoginResponse.data.accost
else if (!LoginResponse.name.isNullOrEmpty())
accost = LoginResponse.data.name
else if(!LoginResponse.fullname.isNullOrEmpty())
accost = LoginResponse.data.fullname
Toast.makeText("$accost", Toast.LENGTH_LONG).show()
数据类中的字段其实蛮多的,我想得到一个更漂亮、更易读的代码。
Kotlin 有一个很棒的 operator when(условие),是否有可能以某种方式将其应用于这种情况?