Android控件重疊顯示小記


方案一

  1. 利用布局控件顯示優先級
    在xml中RelativeLayout,FrameLayout,靠后的控件顯示在上層。

  2. 利用margin屬性
    margin屬性可以控制控件間的距離,屬性值為正值時,越大離得越遠,越小則離得越近。
    所以可以通過給android:layout_marginTopandroid:layout_marginBottomandroid:layout_marginLeftandroid:layout_marginRight

    這四個屬性設置為負數值,會讓控件疊加在一起。

  3. 記住Button的優先級最高
    從Android 5.0 開始,在同一個布局下,Button將總是位於最上層。

    產生原因:stateListAnimator屬性==>Button自帶在點擊時默認有個陰影的效果用於表示按下的狀態。
    如果想讓Button不覆蓋其他控件,可以使用android:stateListAnimator="@null",去掉默認點擊的陰影效果,使Button可以被正常的覆蓋。

方案二

調整布局xml中的重疊控件的 elevation 屬性

示例:

android:elevation="5dp"

例如在 RelativeLayout中使用了 CardView ,即使在靠后使用 Button,還是無法覆蓋 CardView,原因可能是

elevation 屬性的大小問題,將對應的控件的elevation 屬性提高,就可以讓對應控件在疊加關系中由下層變為上層。

方法三

Java代碼中調用: A.bringToFront();讓A顯示出來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM