【发布时间】:2016-11-29 23:38:53
【问题描述】:
我有一个垂直的LinearLayout,里面有 2 个TextSwitcher。有时只会显示第一个(@+id/ts1),有时它们都会显示在屏幕上。 ts1 的字体大小为 20,ts2 的字体大小为 16。
<LinearLayout
android:id="@+id/linearLayout1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:gravity="center_vertical"
android:focusable="false"
android:layout_marginLeft="@dimen/dimen_left1"
android:visibility="gone">
<TextSwitcher
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:id="@+id/ts1"/>
<TextSwitcher
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:id="@+id/ts2"/>
</LinearLayout>
当我测试它时,当它们都显示在屏幕上时,它工作正常,但是当只显示 ts1 时,文本没有垂直居中,更像是垂直顶部而不是居中。我以编程方式设置这 2 个 TextSwitchers 的可见性。
有人知道为什么会这样吗?
谢谢!!!
【问题讨论】:
-
只是从您的布局中猜测... TextSwitcher 高度与父级匹配,那么它应该如何居中?
-
你的目标是什么?你只想要一段可以来回切换的文本吗?如果是这样的话,你只需要 1 个 TextSwitcher,而不是 2 个。每个 TextSwitcher 包含 2 个 TextView 和在它们之间切换的方法。
-
@JamesMcCracken 我需要 2 个 TextSwitcher,因为它们每个人都需要在不同情况下切换一些文本。我的目标是做一些文本切换,在某些情况下,我只需要一个。我不能只做一些字符串操作并将它们组合成一个,因为每个 TextSwitcher 只是不同的文本字体、大小等。
标签: android android-layout android-linearlayout android-styles textswitcher