我的应用程序显示折线图和自定义 MarkerView。MarkerView 的一个问题是阴影不起作用。相同的代码适用于活动的布局。但是,如果我将其复制到 MarkerView 的布局,则当我运行应用程序时,阴影不会显示。
为了显示阴影,我将高度设置为 5dp,并在视图上设置背景颜色。然后,对于其父视图,我将 padding 设置为 5dp,将 ClipToBounds 设置为 false。像下面这样:
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/line_chart_view"
app:layout_constraintBottom_toBottomOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:padding="10dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="some text"
android:elevation="10dp"
android:background="#FFFFFFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud) Kotlin具有两种构造函数,主要构造函数和次要构造函数。拥有两种类型的目的是什么?我认为,这会使代码更加复杂和不一致。如果两种类型的构造函数都创建类的对象,则它们对类同样重要。
同时,多个初始化程序还会带来混乱并降低可读性。
我正在将 Firebase Analytics 添加到我的 Android 应用程序中以替换 Mixpanel。Mixpanel SDK 提供了“一次设置”的人员属性,它可以按给定量增加人员属性。Firebase 是否提供与这些等效的东西?