2017-06-15 191 views
0

我有一個TextView,我還沒有設置背景顏色。我想去背景顏色,但當我做((ColorDrawable) mTextView.getBackground()).getColor()我顯然得到一個空指針異常。Android獲取父視圖的背景顏色,如果沒有背景顏色集

我該如何遍歷TextView的視圖層次結構,以便在TextView使用背景作爲結果的層次結構中查找最新的背景色

and 如果在層次結構中沒有設置背景顏色,我將如何確定背景顏色?我將如何確定這種情況?我怎麼知道沒有設置背景?

我基本上很難確定視圖的背景顏色,當它沒有明確設置。

+0

您必須先查看其在視圖層次結構中的位置。像linearlayoutl.getChildAt(index) –

回答

0

遍歷層次取決於您使用的是什麼控制

現在,要獲得佈局的顏色,只能在API 11+中完成,如果您的背景是純色。

  int color = Color.TRANSPARENT; 
      Drawable background = view.getBackground(); 
      if (background instanceof ColorDrawable) 
      color = ((ColorDrawable) background).getColor(); 

,一旦你得到的ColorCode你可以以此爲基礎進行操作。