마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이미지뷰 텍스트뷰 길이 똑같이 맞추는법?

0 추천

진한 회색은 서버에서 받은 이미지를 넣을 공간입니다.

이미지 사이즈의 가로넓이를 고정으로 하지않고 

wrap_content로 했구요 weight를 1씩 줘서

같은 너비를 갖게 했습니다.

그런데 이것처럼 아랫쪽에 글을 넣었을때 글이 길어지면

이미지 세개 크기가 일그러진다는 단점이 있습니다.

아랫쪽 글은 제목을 넣을건데 마찬가지로 서버에서 가져옵니다.

짧을수도잇고 길수도 있습니다.

그래서 길때를 테스트한건데 이렇게 깨지네요..

고정으로 하지 않고 이미지뷰와 텍스트뷰의 가로 길이가 같게하려면 어떻게 해야하나요?

슈퍼꽃붕어 (1,600 포인트) 님이 2015년 6월 15일 질문

3개의 답변

0 추천

질문자입니다. 길다고 소스가 안들어가네요. 여기다 추가할게요


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="8dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:layout_marginRight="5dp">
        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/netimgview_home_popular1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/img_thum01"
            android:adjustViewBounds="true"
            android:background="@drawable/img_outline"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="sdflkjasldfkjalskdfjslkdfjlksdjfklsdf"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp">
        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/netimgview_home_popular2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/img_thum01"
            android:adjustViewBounds="true"
            android:background="@drawable/img_outline"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:layout_marginLeft="5dp">
        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/netimgview_home_popular3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/img_thum01"
            android:adjustViewBounds="true"
            android:background="@drawable/img_outline"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</LinearLayout>

 

슈퍼꽃붕어 (1,600 포인트) 님이 2015년 6월 15일 답변
저도 리니어 레이아웃 쓰다가 비율을 1:1로 나눴는데 한쪽으로 기울어지는 경우를 보긴 봤는데..텍스트뷰나 이미지뷰의 길이를 wrap_content가 아니라 비율에 맞춰야 하는거아닌가요? wrap_content는 텍스트 길이에 따라 레이아웃이 변한다는건데..wrapcontent로 하면 텍스트 길이가 길어질 수록 텍스트뷰 길이도 변형되지 않을까요? 지금 보니 큰 리니어레이아웃 아래에 세개의 리니어 레이아웃을 둬서 weight를 1씩 줘서 1/3 씩 크기를 주신거같은데.. width의 속성을 wrap_content말고 0dp주고, 그 아래에 속한 이미지랑텍스트뷰의 width도 wrap_content를 수정해보세요..
weight를 1로 준 LinearLaout의 가로너비를 0dp로 하니깐 돼네요!!! 감사합니다!
네..참고로 0dp말고 이미 비율이 지정된[weight가 1인 리니어 레이아웃] 부모레이아웃의 가로길이만큼 자식의 가로길이도 지정해보세요..match_parent속성으로..
나중에 레이아웃이 복잡해지면 비율맞추기가 까다롭더군요 ㅠㅠ
옙~~ㅎ 이미지가 레이아웃크기보다 작을때는 이미지가 왼쪽으로 쏠려보이는 현상이 있어서 match로 바꿨습니다!!
0 추천
weight 들어가있는 Linear 의 width 를 필로 바꿔보세요
콜벳 (7,150 포인트) 님이 2015년 6월 15일 답변
0 추천

com.android.volley.toolbox.NetworkImageView

TextView

android:layout_width="wrap_content"

android:layout_width="match_parent"

추천드립니다.

아래 댓글다신분의 말씀처럼 담고 있는 내용이 늘어나면 늘어나야는 warp_content 속성때문에 일어나는 것같습니다.

NetworkImageView와 TextView의 넓이 항목을 부모크기만큼만 가지게 만드신다면 될것 같아 보입니다.

컴러기 (22,230 포인트) 님이 2015년 6월 15일 답변
...