2017-10-30 4 views
-1

다음 레이아웃에 사용 된 TextView는 화면에 랩핑되지 않고 화면의 왼쪽 (또는 시작) 가장자리로 나옵니다.LinearLayout에서 텍스트가 화면에 맞지 않습니다.

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

    > 

    <LinearLayout 
     android:id="@+id/text_pane" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/iv_video_thumbnail" 
     android:layout_toStartOf="@+id/iv_video_thumbnail" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tv_video_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="" 
      android:layout_gravity="end" 
      android:padding="@dimen/text_padding"/> 

     <TextView 
      android:padding="@dimen/text_padding" 
      android:layout_gravity="end" 
      android:id="@+id/tv_video_descr" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="" /> 


    </LinearLayout> 

    <ImageView 
     android:id="@+id/iv_video_thumbnail" 
     android:layout_width="@dimen/thumbnail_width" 
     android:layout_height="@dimen/thumbnail_height" 
     android:layout_alignBottom="@+id/text_pane" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true" 
     android:contentDescription="@string/video_thumbnail_image" 
     app:srcCompat="@drawable/video" /> 
</RelativeLayout> 

왜 텍스트가 화면 왼쪽에서 벗어나는 지 알 수 없습니다. RelativeLayoutLinearLayout 및 두 TextViews에 여백 및 패딩을 사용하려했지만 그 중 아무 것도 문제를 해결하지 못했습니다.
현재와 같은 응용 프로그램의 표시 내용은 다음과 같습니다 enter image description here

당신이 코드에서 보듯이
, 나는 또한 TextViews에 gravity 속성을 적용하지만 성공하지 못하고있다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?

+1

매우 복잡한 질문입니다. 'LinearLayout'에 맞는 텍스트가 무엇을 의미하는지 알려주실 수 있습니까? 당신은 3 개의 TextViews를 가지며 모든 속성이 잘 작동합니다. 'LinearLayout'의 작동 방식을 알고 있는지 확인하십시오. –

+0

두 패딩을 포함하는 LinearLayout에 패딩을 설정해 보았습니까? (약 10dp 정도). – Simo

+2

@jasonStack 제발 제약 레이아웃을 사용하여 더 나은 레이아웃 –

답변

0

이 시도 ...

<?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" 
    android:layout_width="match_parent" android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:id="@+id/text_pane" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_toLeftOf="@+id/iv_video_thumbnail" 
     android:layout_toStartOf="@+id/iv_video_thumbnail" 
     android:layout_weight=".2" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tv_video_title" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="" 
      android:gravity="right" 
      android:layout_margin="3dp" 
      android:layout_weight=".1" 
      android:padding="10dp"/> 

     <TextView 
      android:padding="10dp" 
      android:id="@+id/tv_video_descr" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="3dp" 
      android:layout_weight=".3" 
      android:text="" /> 


    </LinearLayout> 

    <ImageView 
     android:id="@+id/iv_video_thumbnail" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_alignBottom="@+id/text_pane" 
     android:layout_alignParentEnd="true" 
     android:layout_weight=".1" 
     android:scaleType="fitXY" 
     android:layout_alignParentRight="true"/> 
</LinearLayout> 

출력 :

enter image description here

+0

내 코드가 잘 작동하는지 테스트 해주세요. –

+0

0dp가 내용을 축소하고 아무 것도 나타나지 않습니다! – JasonStack

+0

신중하게 조사하고 있습니다 .. 어떻게 보이는지 이미지를 업데이트합니다 –

0

이 시도!

<?xml version="1.0" encoding="utf-8"?> 
<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:id="@+id/relativeLayout" 
    android:layout_width="match_parent" 

    android:layout_height="wrap_content"> 


    <TextView 
     android:id="@+id/tv_video_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:padding="10dp" 
     android:text="@android:string/dialog_alert_title" 
     app:layout_constraintEnd_toStartOf="@+id/iv_video_thumbnail" 
     app:layout_constraintHorizontal_bias="1.0" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 

    <TextView 
     android:id="@+id/tv_video_descr" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:padding="10dp" 
     android:text="@android:string/fingerprint_icon_content_description" 
     app:layout_constraintEnd_toStartOf="@+id/iv_video_thumbnail" 
     app:layout_constraintHorizontal_bias="1.0" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/tv_video_title" /> 


    <ImageView 
     android:id="@+id/iv_video_thumbnail" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_marginBottom="1dp" 
     android:layout_marginTop="8dp" 
     app:layout_constraintBottom_toBottomOf="@+id/tv_video_descr" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:srcCompat="@drawable/your_img" /> 
</android.support.constraint.ConstraintLayout> 
0

대신이 레이아웃을 사용하십시오.

<?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" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:id="@+id/text_pane" 
     android:layout_width="0dp" 
     android:padding="@dimen/text_padding" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.7" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tv_video_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="end" 
      android:text="Hi" /> 

     <TextView 
      android:id="@+id/tv_video_descr" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="end" 
      android:text="Hi" /> 
    </LinearLayout> 

    <ImageView 
     android:id="@+id/iv_video_thumbnail" 
     android:layout_width="0dp" 
     android:layout_height="@dimen/thumbnail_height" 
     android:layout_alignBottom="@+id/text_pane" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true" 
     android:layout_weight="0.3" 
     app:srcCompat="@drawable/video" /> 
</LinearLayout> 
관련 문제