Видимость RelativeLayout не работает при использовании View.GONE - PullRequest
0 голосов
/ 03 января 2012

У меня есть родительский RelativeLayout, в котором есть другие виды и другие относительные макеты.Когда я пытаюсь сделать один из этих RelativeLayouts видимостью GONE, он просто не исчезнет.Любое решение для этого?Я выложу макет, который я хочу GONE.

<RelativeLayout android:id="@+id/relativeLayerA"
     android:layout_width="315px"
     android:layout_height="35px"
     android:background="@drawable/bgnavyblue_abcd"
     android:layout_below="@id/relativeConfig1"
     android:layout_toRightOf="@id/relativeRecipe"
     android:layout_marginLeft="15px"
     android:layout_marginTop="20px"
     >                 

     <ImageView android:id="@+id/imgIconA"
         android:layout_width="33px"
         android:layout_height="33px"                                            
         android:src="@drawable/icon_a"
         android:layout_alignParentLeft="true" <!--  -->
         />

     <TextView android:id="@+id/txtLayerA"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/layer_a_adjusts"
        android:textSize="7pt"
        android:textColor="#FEFEFE"
        android:typeface="sans"
        android:layout_toRightOf="@id/imgIconA"
        android:layout_marginLeft="5px"
        android:layout_marginTop="8px"               
        />
</RelativeLayout>

Вот весь код: http://pastebin.com/VhpWSa6Z Пожалуйста, кто-нибудь знает, что происходит?сказал, что это может происходить, потому что другой вид использует этот вид для позиционирования себя на экране.Поэтому я попытался установить GONE видимость для RelativeLayerC.И это сработало.Я не понимаю, почему он работает с этим View, а не с RelativeLayerA.Здесь вы можете увидеть RelativeConfig4, используя RelativeLayerC в качестве ссылки.http://pastebin.com/uHW6faPy

1 Ответ

1 голос
/ 22 октября 2012

Я столкнулся с той же проблемой .. Я думаю, что это ошибка .. :( Вы можете обойти это, хотя .. попробуйте это сделать RelativeLayout невидимым.

RelativeLayout rLayout=(RelativeLayout) findViewById(R.id.//your relativeLayout id);
RelativeLayout.LayoutParams rParams = new RelativeLayout.LayoutParams(
    0, // its height... set it 0 to make it invisible..
    RelativeLayout.LayoutParams.FILL_PARENT // and its width
);
rLayout.setLayoutParams(rParams);

Это сделать его видимым.

RelativeLayout.LayoutParams rParams = new RelativeLayout.LayoutParams(
                        RelativeLayout.LayoutParams.FILL_PARENT, 
                        RelativeLayout.LayoutParams.FILL_PARENT); 

rLayout.setLayoutParams (rParams);

Вот правильные параметры для RelativeLayout в xml.

<RelativeLayout
    android:id="@+id/rLayout"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:background="#AA000000" >

Помните! Не используйте это.

android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"

или влево, вправо .. иначе это не сработает ..!

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...