2013-10-14 42 views
-1

我有一個RootLayout [它可以被設置好的任何佈局],如:Android - 如何保持調用setVisible(View.GONE)後視圖的位置不變?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainRootLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <ImageButton 
     android:id="@+id/ibtnHidden" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 

     android:src="@android:drawable/ic_menu_add" /> 

    <ImageButton 
     android:id="@+id/ibtnPlay" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/ibtnHidden" 
     android:layout_marginLeft="9dp" 
     android:layout_toRightOf="@+id/ibtnHidden" 
     android:src="@android:drawable/ic_media_play" /> 

    <ImageButton 
     android:id="@+id/ibtnPreference" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/ibtnHidden" 
     android:layout_marginLeft="9dp" 
     android:layout_toRightOf="@+id/ibtnPlay" 
     android:src="@android:drawable/ic_menu_preferences" /> 

    <ImageButton 
     android:id="@+id/ibtnExit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/ibtnHidden" 
     android:layout_marginLeft="9dp" 
     android:layout_toRightOf="@+id/ibtnPreference" 
     android:src="@android:drawable/ic_menu_close_clear_cancel" /> 

</RelativeLayout> 

ibtn_Hidden = (ImageButton) view.findViewById(R.id.ibtnHidden); 
ibtn_Play = (ImageButton) view.findViewById(R.id.ibtnPlay); 
ibtn_Preference = (ImageButton) view.findViewById(R.id.ibtnPreference); 
ibtn_Exit = (ImageButton) view.findViewById(R.id.ibtnExit); 

當我打電話「ibtn_Play.setVisible(View.GONE); ibtn_Preference.setVisible(View.GONE); ibtn_Exit.setVisible (View.GONE)「,ibtn_Hidden的位置就會改變。

我想這是因爲其他人已被暫時刪除,視圖的大小也發生了變化,並且正在朝着變化的中間。

如何保持ibtn_Hidden的立場,要求調用setVisible(View.GONE)之後沒有改變,和其他人[ibtn_Play ibtn_Preference ibtn_Exit]如果你想有一個觀點應該不佔空間?謝謝〜

+0

試試這個屬性setVisibility(View.INVISIBLE); insted of setVisibility(View.GONE); –

+0

發佈您的整個佈局代碼。 – GrIsHu

回答

1

到不可見,但仍保持它的佈局的影響,您可以使用此:

imageButton2.setVisibility(View.INVISIBLE); 

希望這有助於:)

+0

對不起,我忘了添加,我需要刪除ImageButton2和ImageButton3,同時保持相同的位置ImageButton1.ImageButton2和ImageButton3不應該佔用space.thank你 – user2877611

相關問題