Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android控件顯示順序控制

android控件顯示順序控制

編輯:關於Android編程

在android中如果首先在xml中靜態添加了一個控件,剩下的控件都是通過addView動態添加,那麼如果有控件覆蓋的情況(比如說使用FrameLayout或者RelativeLayout),先加入得控件就會被後加入得控件覆蓋。

在View類中有這樣一個方法 bringToFront ,它得注釋如下:

/**

* Change the view's z order in the tree, so it's on top of other sibling

* views. This ordering change may affect layout, if the parent container

* uses an order-dependent layout scheme (e.g., LinearLayout). Prior

* to {@link android.os.Build.VERSION_CODES#KITKAT} this

* method should be followed by calls to {@link #requestLayout()} and

* {@link View#invalidate()} on the view's parent to force the parent to redraw

* with the new child ordering.

*

* @see ViewGroup#bringChildToFront(View)

*/

我們可以看到,這個方法可以改變ViewGroup內子控件在Z軸坐標得順序,使得當前控件在所有兄弟控件得最前面,同時在4.4之前得版本,還需要它的父控件調用requestLayout()和invalidate()來重新繪制子控件的順序。

而且要注意的一點是,需要在所有控件都加載完之後才能調用 bringToFront()來設置指定控件的順序,否則後加載的控件還是可能覆蓋你想要上提的控件的。

這樣我們就可以通過這個方法來排列子控件的覆蓋順序啦。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved