2013-10-14 16 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

相关问题