2017-02-12 3 views
0

У меня есть это:удалить пространство между LinearLayout, когда видимость устанавливаются Унесенные

enter image description here

в этой ситуации стрелок на праве близко, и я поставил режим видимости LinearLayout Унесенного, но У меня большой разрыв с первым LinearLayout и вторым LinearLayout. Когда я нажимаю стрелку установки, я устанавливаю видимость в ВИДИМОСТЬ, и у меня есть max expand.

enter image description here

код XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:weightSum="100" 
     android:baselineAligned="false" 
     android:layout_marginTop="5dp"> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="30" 
      android:padding="5dp" 
      android:weightSum="1"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="0dp" 
       android:src="@drawable/directory_icon" 
       android:id="@+id/img_product" 
       android:scaleType="fitStart" 
       android:layout_weight="1" 
       tools:ignore="ContentDescription" 
       /> 
     </LinearLayout> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="70" 
      android:weightSum="100"> 

      <LinearLayout 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_weight="30" 
       android:layout_height="wrap_content" 
       android:weightSum="100"> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_title1" 
        android:layout_weight="90" 
        android:layout_height="wrap_content" 
        android:elevation="1dp" 
        android:layout_width="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edittitle1" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_nome" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text"/> 
       </android.support.design.widget.TextInputLayout> 

       <ImageButton 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        app:srcCompat="@drawable/arrow_down" 
        android:id="@+id/arrow_expand" 
        android:layout_weight="10" 
        android:background="#00000000" 
        android:scaleType="centerInside" 
        android:layout_marginRight="5dp" 
        android:layout_marginLeft="5dp" 
        android:contentDescription="" 
        tools:ignore="ContentDescription"/> 
      </LinearLayout> 

      <LinearLayout 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="70" 
       android:visibility="gone" 
       android:id="@+id/datacontainer"> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_desc1" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/editdesc1" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_descrizione2" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text"/> 
       </android.support.design.widget.TextInputLayout> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor1" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_carbo" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_carboidrati" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor3" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_zuccheri" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_zuccheri" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor4" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_grassi" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_grassi" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 


       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor5" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_proteine" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_proteine" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 


       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor6" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_fibre" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_fibre" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 


       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor7" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_sale" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_sale" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor8" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_kcal" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_kcal" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/input_editor9" 
        android:layout_weight="90" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <android.support.design.widget.TextInputEditText 
         android:id="@+id/edit_prezzo" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/txt_prezzo" 
         android:text="" 
         android:padding="5dp" 
         android:inputType="text|number|numberSigned|numberDecimal"/> 
       </android.support.design.widget.TextInputLayout> 
      </LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="top"> 

     <TextView 
      android:text="@string/lista_allergeni" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/textView4" 
      android:padding="5dp"/> 

     <GridView 
      android:id="@+id/myGrid" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" 
      android:verticalSpacing="2dp" 
      android:horizontalSpacing="2dp" 
      android:numColumns="4" 
      android:columnWidth="60dp" 
      android:stretchMode="columnWidth" 
      android:gravity="center" 
      android:textAlignment="center"/> 
    </LinearLayout> 
</LinearLayout> 

и когда я нажимаю Я использую этот код:

.... 
    DataContainer = (LinearLayout) rootView.findViewById(R.id.datacontainer); 
     IngContainer = (LinearLayout) rootView.findViewById(R.id.ingcontainer); 
.... 

    ArrowExpand.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       if (DataContainer.getVisibility() == View.VISIBLE) { 
        // Its visible 
        DataContainer.setVisibility(View.GONE); 
        ObjectAnimator flip = ObjectAnimator.ofFloat(ArrowExpand, "rotationX", 180f, 0f); 
        flip.setDuration(500); 
        flip.start(); 
       } else { 
        // Either gone or invisible 
        DataContainer.setVisibility(View.VISIBLE); 
        ObjectAnimator flip = ObjectAnimator.ofFloat(ArrowExpand, "rotationX", 0f, 180f); 
        flip.setDuration(500); 
        flip.start(); 
       } 
      } 
     }); 

Как удалить разрыв? Мне хотелось бы, чтобы у второго LinearLayout появился первый LinearLayout, и только когда я нажимаю на стрелку, у меня есть разложение. Можно ли удалить и название сверху (MyViewRecip ...)?

THX.

ответ

0

вы можете сохранить свой вид первый, который вы хотите удалить, а затем удалить этот ребенок

+0

Я не понимаю, я не снимаю вид, объясните больше. –

0

Просто попробуйте изменить вес макета programmily

 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, 100); 
    lp.weight = 1; 

     if (DataContainer.getVisibility() == View.VISIBLE) { 
         // Its visible 
         DataContainer.setVisibility(View.GONE); 
    DataContainer.setLayoutParams(lp); 
         ObjectAnimator flip = ObjectAnimator.ofFloat(ArrowExpand, "rotationX", 180f, 0f); 
         flip.setDuration(500); 
         flip.start(); 
        } else { 
         // Either gone or invisible 
lp.weight = 70; 
         DataContainer.setVisibility(View.VISIBLE); 
    DataContainer.setLayoutParams(lp); 
         ObjectAnimator flip = ObjectAnimator.ofFloat(ArrowExpand, "rotationX", 0f, 180f); 
         flip.setDuration(500); 
         flip.start(); 
        } 

Я думаю, что это может решить вашу проблему ..

+0

не работает !, когда я нажимаю на стрелку, стрелка вращается, но ничего не появляется и ничего не меняется .... :-( –

Смежные вопросы