2017-09-13 4 views
0

Ich habe die benutzerdefinierte Ansicht auf den unteren Rand eingestellt und die übergeordnete Höhe beträgt anfänglich 200 dpi. Wenn ich auf die benutzerdefinierte Ansicht klicke, muss ich das übergeordnete Element als übergeordnetes Element festlegen. damit ich später die benutzerdefinierte Ansicht im Vollbildmodus animiere.Wie wird die benutzerdefinierte Ansicht im unteren Bereich beibehalten, nachdem die übergeordnete Höhe geändert wurde

was passiert, wenn ich die Größe des relativen Layouts (übergeordnete Ansicht) auf übergeordnete programmatisch anpassen, ist es Kind - benutzerdefinierte Ansicht wird auch nach oben bewegen. Wie kann ich das überkommen?

Im Folgenden finden Sie Definitionen Layout:

<RelativeLayout 
    android:id="@+id/rlTreatmentDone" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_alignParentBottom="true" 
    android:clickable="false" 
    android:gravity="bottom"> 


    <com.firsttreatmentflow.doneTreatment.DoneControllerView 
     android:id="@+id/doneViewController" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:minHeight="200dp"></com.firsttreatmentflow.doneTreatment.DoneControllerView> 


    <LinearLayout 
     android:id="@+id/llArrowText" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:gravity="center" 
     android:orientation="vertical"> 

     <ImageView 
      android:id="@+id/ivUpArrow" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/tvDone" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="10dp" 
      android:clickable="true" 
      android:src="@drawable/arrow_up" 
      android:visibility="gone" /> 

     <TextView 

      android:id="@+id/tvDone" 
      style="@style/BodyBoldTextStyle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/bottomReferenceView" 
      android:layout_centerHorizontal="true" 
      android:clickable="true" 
      android:text="Done" 
      android:textColor="@color/uikit_white" 
      android:visibility="gone" /> 
    </LinearLayout> 

jetzt auf Klick auf benutzerdefinierte Ansicht, i Layout Höhe benutzerdefinierte Ansicht wie unten enter image description here

Antwort

0

wie unten

llArrowText.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 



      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
        ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
      params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
      rlTreatmentDone.setLayoutParams(params); 



      doneViewController.setStartControllerClicked(true); 
     } 
    }); 

dies wird am Wechsel bewegen In Ihrem Code haben Sie die LayoutParams Height auf statt MATCH_PARENT gesetzt, was ich denke, was Sie sind wollten sie eigentlich machen? Was würde "@+id/rlTreatmentDone" kleiner machen und seine Kinderansicht nach oben verschieben.

+0

Nein, es funktioniert nicht, indem Sie in Match übergeordnet ändern, ich möchte die benutzerdefinierte Ansicht unten halten – chethan

Verwandte Themen