스팀 앱 개발기 #57 - 포스트 리스트를 구성할 항목의 레이아웃 (2)

스팀 앱 개발기 #57 - 포스트 리스트를 구성할 항목의 레이아웃 (2)

image.png

시작하며...

지난 포스트에서 포스트 리스트를 구성할 항목의 레이아웃을 보여 드렸지요. 그런데 수정해야 할 부분이 보여서 오늘은 이에 대한 추가 작업을 진행하였습니다.


수정한 사항

  • 메인 태그/커뮤니티가 무엇인지 보여줄 텍스트 뷰 추가
  • 작성 시간을 보여줄 텍스트 뷰 추가
  • 제목의 최대 줄 수를 2로 제한
  • 제목, 내용이 길면 끝부분 말줄임표(...) 처리

수정한 XML 코드

전체 코드는 아래와 같습니다. 어떤 코드가 추가/수정되었는지는 GitHub에 올릴 commit을 통해 확인 가능합니다.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:padding="8dp">

    <TextView
        android:id="@+id/text_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxLines="2"
        android:text=""
        android:textColor="@color/black"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="Title Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit..." />

    <ImageView
        android:id="@+id/image_thumbnail"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginTop="5dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@id/text_title"
        tools:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/text_content"
        android:layout_width="0dp"
        android:layout_height="24sp"
        android:layout_marginLeft="12dp"
        android:ellipsize="marquee"
        android:maxLines="1"
        android:text=""
        android:textColor="@color/black"
        android:textSize="18sp"
        app:layout_constraintTop_toTopOf="@id/image_thumbnail"
        app:layout_constraintLeft_toRightOf="@id/image_thumbnail"
        app:layout_constraintRight_toRightOf="parent"
        tools:text="Content example: Lorem ipsum dolor sit amet, consectetur adipiscing elit," />

    <TextView
        android:id="@+id/text_main_tag"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:textSize="16sp"
        app:layout_constraintLeft_toLeftOf="@id/text_content"
        app:layout_constraintTop_toBottomOf="@id/text_content"
        app:layout_constraintBottom_toTopOf="@id/text_rewards"
        tools:text="Tag or Community" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:textSize="16sp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@id/text_content"
        app:layout_constraintBottom_toTopOf="@id/text_rewards"
        tools:text="1 days ago" />

    <TextView
        android:id="@+id/text_rewards"
        android:layout_width="wrap_content"
        android:layout_height="18sp"
        android:maxLines="1"
        android:text=""
        android:textColor="@color/black"
        android:textSize="14sp"
        app:layout_constraintBottom_toBottomOf="@id/image_thumbnail"
        app:layout_constraintLeft_toLeftOf="@id/text_content"
        tools:text="$987.654" />

    <TextView
        android:id="@+id/text_upvotes"
        android:layout_width="wrap_content"
        android:layout_height="18sp"
        android:layout_marginLeft="10dp"
        android:maxLines="1"
        android:text=""
        android:textColor="@color/black"
        android:textSize="14sp"
        app:layout_constraintTop_toTopOf="@id/text_rewards"
        app:layout_constraintLeft_toRightOf="@id/text_rewards"
        tools:text="🔺123" />

    <TextView
        android:id="@+id/text_downvotes"
        android:layout_width="wrap_content"
        android:layout_height="18sp"
        android:layout_marginLeft="10dp"
        android:maxLines="1"
        android:text=""
        android:textColor="@color/black"
        android:textSize="14sp"
        app:layout_constraintTop_toTopOf="@id/text_rewards"
        app:layout_constraintLeft_toRightOf="@id/text_upvotes"
        tools:text="🔻0" />

    <TextView
        android:id="@+id/text_account"
        android:layout_width="wrap_content"
        android:layout_height="18sp"
        android:layout_marginLeft="12dp"
        android:maxLines="1"
        android:text=""
        android:textColor="@color/black"
        android:textSize="14sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        tools:text="dorian-mobileapp (99)" />

</androidx.constraintlayout.widget.ConstraintLayout>

GitHub Commit


마치며...

이번에 보여드린 포스트 항목 레이아웃이 최종확정은 물론 아닙니다. 어떻게 보여주는 것이 최선일지는 계속해서 고민이 되더라구요. 개선안을 찾는다면, 추가로 적용할 예정입니다.


지난 스팀 앱 개발기

Sort:  
 2 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.029
BTC 57893.29
ETH 3130.56
USDT 1.00
SBD 2.44