我在android中有一个tablayout
,我需要有时候像文字一样显示子弹,并根据需要隐藏这个子弹。我为每个标签项设计了以下布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
>
<TextView
android:textColor="@color/textColorPrimary"
android:layout_marginRight="2dp"
android:id="@+id/text_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:text="•"
android:textColor="@color/Notify"
android:textSize="@dimen/badget_size"
android:id="@+id/text_tab_counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
问题是当setVisibility
text_tab_counter"
到INVISIBLE
或GONE
,text_tab_counter"
向下移动时。如何设计此布局以防止出现这种意外行为?
答案 0 :(得分:1)
而不是让可见性GONE尝试
text_tab_counter.setText("");
也使用wrap_content的重量不是一个好习惯。所以你可以在使用wrap_content时删除重量。如果你想使用重量使用android:layout_width =&#34; 0dp&#34;或者android:layout_height =&#34; 0dp&#34;根据LinearLayout方向。机器人:layout_width =&#34; 0dp&#34;在你的情况下。
还尝试将LinearLayout的重力设置为Bottom。