Android 关于布局中Button控件正常顺序出现的遮盖其他控件问题

在一个相对布局中设置着底部组合控件,比如:正常app的四个底部导航栏,分别用权重去等比例显示,但是若在其中的一份比例中的相对布局里放置了Button和其他的自定义控件(包含非自定义控件),那么就会出现Button覆盖布局中的其他控件的问题,不过遇到的也许不多吧,下面来说一说我遇到的情况:

1.Button覆盖其他控件示例:

 <!--好友-->
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <Button
                android:id="@+id/main_btn2"
                style="@style/tab_button"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:drawableTop="@drawable/tab_chat_bg"
                android:onClick="onTabClicked"
                android:textAllCaps="false"
                android:textColor="@drawable/index_text"
                android:text="@string/friends" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                android:layout_marginTop="1dp"
                android:background="@drawable/unread_dot"
                android:gravity="center"
                android:text="7"
                android:textColor="@android:color/white"
                android:visibility="invisible" />

        </RelativeLayout>

当然,我用自带的模拟器是没有覆盖问题的,但是,一款红米Note4就出现了覆盖的问题,导致融云接收未读消息显示不出来,很是郁闷,浪费了我半个小时的时间找原因,最后才想到是不是控件的覆盖原因导致的,结果真是。

2.下面是修改后的布局,就是把Button包裹起来,不让她和其他的控件直接接触,这也是安卓系统的一个小Bug吧。

  <!--消息-->
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <LinearLayout
                android:layout_width="match_parent"
                android:orientation="vertical"
                android:layout_height="match_parent">
                <Button
                    android:id="@+id/main_btn_news"
                    style="@style/tab_button"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:drawableTop="@drawable/tab_chat_bg"
                    android:onClick="onTabClicked"
                    android:textAllCaps="false"
                    android:textColor="@drawable/index_text"
                    android:text="@string/news" />
            </LinearLayout>

            <!--<com.iruiyou.pet.utils.DragPointView-->
                <!--android:id="@+id/seal_num"-->
                <!--android:layout_width="19dp"-->
                <!--android:layout_height="19dp"-->
                <!--android:layout_alignParentRight="true"-->
                <!--android:layout_marginRight="18dp"-->
                <!--android:layout_marginTop="1dp"-->
                <!--android:textColor="@android:color/white"-->
                <!--android:textSize="12sp"-->
                <!--android:gravity="center"-->
                <!--android:visibility="invisible" />-->
            <RelativeLayout
                android:id="@+id/rl_main_im_red"
                android:gravity="center"
                android:layout_width="15dp"
                android:layout_height="15dp"
                android:layout_alignParentRight="true"
                android:layout_marginRight="18dp"
                android:layout_marginTop="1dp"
                android:layout_marginLeft="38dp"
                android:background="@drawable/bg_red_dot_corner">

                <TextView
                    android:id="@+id/tv_main_im_red"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textSize="8sp" />

            </RelativeLayout>

这样就解决了问题

展开阅读全文

没有更多推荐了,返回首页