2017-10-04 3 views
3

여러 줄을 지원하는 TextView가있는 제약 레이아웃 내부에 몇 가지 문제가 있습니다. TextView가 확장되면 구속 조건 레이아웃 내부의 다른 구성 요소와 겹칩니다. 아래는 내가 사용하고있는 XML 레이아웃과 GIF를 보여줍니다.제약 레이아웃 TextView 겹침

도움을 주시면 감사하겠습니다.

데모 ->https://puu.sh/xPFSF/3f6711a68f.gif

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:background="@color/activity_background" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

<android.support.constraint.ConstraintLayout 
    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:layout_width="match_parent" 
    android:focusableInTouchMode="true" 
    android:layout_height="0dp"> 

    <android.support.constraint.Guideline 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/leftGuideline" 
     app:layout_constraintGuide_begin="20dp" 
     android:orientation="vertical"/> 

    <android.support.constraint.Guideline 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/rightGuideline" 
     app:layout_constraintGuide_end="20dp" 
     android:orientation="vertical"/> 

    <TextView 
     android:id="@+id/subject" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="@string/subject" 
     android:layout_marginTop="20dp" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintStart_toStartOf="@id/leftGuideline" 
     app:layout_constraintEnd_toEndOf="@id/rightGuideline" /> 

    <EditText 
     android:id="@+id/message" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="@string/your_message" 
     android:layout_marginTop="20dp" 
     android:minLines="2" 
     app:layout_constraintTop_toBottomOf="@id/subject" 
     app:layout_constraintStart_toStartOf="@id/leftGuideline" 
     app:layout_constraintEnd_toEndOf="@id/rightGuideline" /> 

    <Button 
     android:id="@+id/sendMessageButton" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="20dp" 
     android:text="@string/send_message" 
     style="@style/button_main" 
     app:layout_constraintVertical_bias="1" 
     app:layout_constraintTop_toBottomOf="@id/message" 
     app:layout_constraintStart_toStartOf="@id/leftGuideline" 
     app:layout_constraintBottom_toTopOf="@+id/saveDraftButton" 
     app:layout_constraintEnd_toEndOf="@id/rightGuideline" /> 

    <TextView 
     android:id="@+id/saveDraftButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/save_draft" 
     android:layout_marginBottom="10dp" 
     android:drawableStart="@drawable/icon_arrow" 
     android:gravity="center_vertical" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintStart_toStartOf="@id/leftGuideline" 
     app:layout_constraintEnd_toEndOf="@id/rightGuideline" /> 

</android.support.constraint.ConstraintLayout> 
</ScrollView> 

편집 : 그것은 필요하지 않았다으로 제거 된 RecyclerView. 요청으로 button_main 스타일 :

<style name="button_main" parent="@style/button"> 
     <item name="android:textColor">@color/button_main_stateful_text</item> 
     <item name="android:background">@drawable/primary_action_button</item> 
     <item name="android:textSize">@dimen/h5_size</item> 
     <item name="android:textAllCaps">false</item> 
    </style> 

button_main_stateful_text & primary_action_button 색상을 전환 두 선택기입니다.

+0

공유 코드 @ 스타일을 해결해야 지금

<EditText android:id="@+id/message" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="your message" android:layout_marginTop="20dp" android:minLines="2" app:layout_constraintTop_toBottomOf="@id/subject" app:layout_constraintStart_toStartOf="@id/leftGuideline" app:layout_constraintEnd_toEndOf="@id/rightGuideline" app:layout_constraintBottom_toTopOf="@+id/sendMessageButton"/> 

입니다/ – Ankita

+0

button_main 나는 RecyclerView에 대해 무엇을 알 수 있습니까 ?? –

답변

0

scottazord 글고 치기에

app:layout_constraintBottom_toTopOf="@+id/sendMessageButton" 

이 문제를 해결해야합니다 추가.

글고 전체 코드는이 문제