2016-11-13 24 views
0

我有一個情況屬於一個活動按鈕總是在頂部(可見)即使我一個片段添加到一個片段容器,但一旦我更改的元素類型的TextView它留下的像它應該的新片段。的Android按鍵VS TextView的可視性爲了

作爲TextView的元素 - 停留在新添加的片段

<TextView 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:id="@+id/openAdFilteringButton" 
     android:text="Filters" 
     android:onClick="openAdFiltering" 
     android:layout_marginBottom="80dp" 
     android:layout_gravity="center|bottom"/> 

作爲按鈕的元件後面 - 來自新添加的片段的頂部(保持可見)

<Button 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:id="@+id/openAdFilteringButton" 
     android:text="Filters" 
     android:onClick="openAdFiltering" 
     android:layout_marginBottom="80dp" 
     android:layout_gravity="center|bottom"/> 

的元件是FrameLayout的孩子。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/fragment_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

注意,這的FrameLayout是片段容器的意思我加入片段此的FrameLayout:

FragmentTransaction.add(R.id.fragment_container, adFilteringFragment, "AdFilteringFragment").addToBackStack("AreaInterFrag").commit(); 

我需要什麼告訴按鈕,這樣他會像TextView的和留下的分段。這種行爲差異(Button vs TextView)從何而來? 謝謝!

回答

1

我想你正試圖通過重疊東西,它隱藏按鈕。 爲了實現這種行爲和隱藏視圖編程,你最好叫

mView.setVisibility(View.INVISIBLE); 

什麼涉及,爲什麼按鈕的行爲那樣,嘗試讀取這個,看看是否可以幫你的原因:Button always displays on top in FrameLayout

+1

設置按鈕的知名度是不是當你不特別需要做的是一個很好的解決方案。有多種情況來處理獲取按鈕(堆棧變更,碎片殺手等)。您的鏈接回答的問題及解決辦法是把它添加到按鈕:機器人:stateListAnimator =「@空」 – KasparTr

+0

我很高興幫助 – c0rtexx