1. 程式人生 > >Android控制元件重疊顯示小記

Android控制元件重疊顯示小記

### 方案一 1. **利用佈局控制元件顯示優先順序** 在xml中RelativeLayout,FrameLayout,靠後的控制元件顯示在上層。 2. **利用margin屬性** margin屬性可以控制控制元件間的距離,屬性值為正值時,越大離得越遠,越小則離得越近。 所以可以通過給`android:layout_marginTop` ,`android:layout_marginBottom`, `android:layout_marginLeft` ,`android: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顯