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

카카오톡 채팅 화면 같은 레이아웃 질문드립니다.

+2 추천

위 그림에서 왼쪽에 내가 아닌 다른사람들이 쓴 내용이 나오는 채팅 내용과 같이 구성하고 싶은데요

문제가 채팅내용 TextView가 길어지면 오른쪽에 시간Textview가 밀리면서 짤리게 됩니다.

오른쪽 시간 TextView는 항상 나온상태로 어떤 해상도든지 채팅내용이 가변적으로 늘어나게 하려면 어떻게 해야하나요?

 

내가 쓴 채팅 내용은 잘 구현했는데.. 왼쪽에서 내용을 쓰면 이상하게 밀리네요.. 강제로 메시지 TextView길이를 제한하지않고도 가능한 방법 있으시면 알려주심 감사하겠습니다..

시간textview가 메시지textview밑에 가려야하기때문에  RelativeLayout을 이용하고있습니다.

 

조언부탁드립니다 

GOCHUL (200 포인트) 님이 2013년 2월 20일 질문

3개의 답변

+1 추천
 
채택된 답변
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:layout_marginRight="55dp" >
    
	    <TextView
	        android:layout_width="wrap_content"
	    	android:layout_height="wrap_content"
	    	android:text="text text text text text text text text text text text text text text text text text text text text text text text text text text"
	    	android:background="#FF0000" />

    </LinearLayout>
    
    <TextView
        android:layout_width="50dp"
    	android:layout_height="wrap_content"
    	android:layout_marginLeft="-55dp"
    	android:text="time"
   		android:background="#0000FF" />
    
</LinearLayout>

꼼수부리긔

루지메이앙 (3,450 포인트) 님이 2013년 2월 20일 답변
GOCHUL님이 2013년 2월 20일 채택됨
오 감사합니다! 루지메이앙님!
RelatvieLayout에서 위 방식 참고해서 해결했네요 ^^
0 추천
제가 보기에는 리니어 레이아웃에 가중치주셔서 처리하셔야할거 같습니다만..릴레티브를 쓰신다하니 흐음

리니어로 바꿔보거나 추가해서 변경해보시길
건방진프로그래머 (26,630 포인트) 님이 2013년 2월 20일 답변
Linear 레이아웃을 할경우.. 저 시간Textview가 메시지 Textview에 가려지게 할려면 순서가 중요하지않나요?..
글세요 굳이 왜 가리려는지 모르겠군요.. 가리려면 invisible 시켜버리는게 낮지않는지요?
아니요 가리는게.. 완전 안보이게 가리는게 아니구요 겹치게 한다는 의미입니다.
0 추천
일단 RelativeLayout 쓰시는거 맞는것 같구요.

오른쪽에 시간 나오는걸

alignParentRight하시고 말풍선에다가 toRightOf 해주시면

말풍선 오른쪽에 붙어서 화면 오른쪽 끝까지 가면 더이상 밀려나지 않게 됩니다.

(사실 장담은 못하겠네요 ㅠㅠ)
퐁풍 (8,740 포인트) 님이 2013년 2월 20일 답변
이방법도 안되네요 ㅠㅠ 답변감사합니다
...