从styles.xml切换应用程序主题时,是否可以更改项目的可见性?

问题描述 投票:1回答:1

我正在努力实现一种效果,根据选择的应用主题,该星空背景动画可以显示/消失。

<com.starry.animation
        android:id="@+id/stars"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:starsView_bigStarThreshold="10dp"
        app:starsView_meteoritesColors="@array/meteorites_colors"
        app:starsView_meteoritesEnabled="true"
        app:starsView_meteoritesInterval="2000"
        app:starsView_maxStarSize="3dp"
        app:starsView_minStarSize="1dp"
        android:visibility="?visibilityMode"
        android:background="@android:color/transparent"
        app:starsView_starColors="@array/star_colors_small"
        app:starsView_starCount="100" />

我已经在styles.xml中将visibleMode声明为字符串属性

<attr name="visibilityMode" format="string" />

并且在我的自定义主题中为:

<item name="visibilityMode">GONE</item>

这会导致星型视图膨胀错误。还有其他一些我可以达到类似结果的实现吗?

android android-theme android-styles
1个回答
0
投票

实际上可见性不是字符串,而是整数。0用于可见的初始状态。2用于初始状态(不要与View.GoneView.Visible混淆)。

© www.soinside.com 2019 - 2024. All rights reserved.