gpt4 book ai didi

android - 如何在Kotlin中以编程方式设置闪光布局?

转载 作者:行者123 更新时间:2023-12-02 13:32:23 24 4
gpt4 key购买 nike

NOTE: My question is different from this.



我想以编程方式在Kotlin代码中设置ShimmerLayout的布局。有可能吗?

当前通过XML设置布局,如下所示:
<com.facebook.shimmer.ShimmerFrameLayout
android:id="@+id/shimmerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="@{showSimmerBanner ? View.VISIBLE : View.GONE, default=gone}">

<LinearLayout
android:id="@+id/shimmerOrientation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<include layout="@layout/shimmer_banner" />
<include layout="@layout/shimmer_banner" />
<include layout="@layout/shimmer_banner" />

</LinearLayout>

</com.facebook.shimmer.ShimmerFrameLayout>

我们可以通过Kotlin代码设置布局( @layout/shimmer_banner)吗?

因此,xml如下所示:
<com.facebook.shimmer.ShimmerFrameLayout
android:id="@+id/shimmerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="@{showSimmerBanner ? View.VISIBLE : View.GONE, default=gone}"/>

在Kotlin代码中,请像这样调用xml: shimmerLayout.set = R.layout.shimmer_banner,但是它没有通过编程从Kotlin代码中设置布局的功能。

如何通过Kotlin代码使用仍带有 LinearLayout + can verticaladd more 1 <include> tag来做到这一点?

最佳答案

通过<include>标记包含的布局只是膨胀到父级中,因此您可以简单地使用LayoutInflater来完成。

假设(根据您的问题)假设您对 Shiny 布局的引用为shimmerLayout,则可以执行以下操作:

val inflater = LayoutInflater.from(shimmerLayout.context)
inflater.inflate(R.layout.shimmer_banner, shimmerLayout)

要更改它(如果已经有 View ),则需要执行 shimmerLayout.removeAllViews(),然后执行上述操作。

关于android - 如何在Kotlin中以编程方式设置闪光布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60629295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com