Android 關於佈局中Button控制元件正常順序出現的遮蓋其他控制元件問題
阿新 • • 發佈:2018-12-16
在一個相對佈局中設定著底部組合控制元件,比如:正常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>
這樣就解決了問題