728x90
더보기 기능이 있는 텍스트뷰 구현 예제입니다.
- XML 레이아웃 파일에서 TextView를 만듭니다.
더보기 기능을 추가해줄 긴 글을 작성해줍니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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:layout_height="match_parent"
tools:context=".ExampleActivity">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed ut sapien magna. Integer at nisl nec ipsum vehicula euismod sed in tellus.
Morbi condimentum turpis eu elit bibendum, et tincidunt massa rutrum.
Donec euismod, magna vel scelerisque bibendum, magna risus tristique ipsum, vel imperdiet est enim et elit.
Quisque ac elit eu mi congue venenatis id id velit. Sed feugiat ultricies orci vitae bibendum.
Sed malesuada, nunc eget semper pretium, eros odio pretium orci, vel lobortis sapien nisl vel libero.
Aliquam hendrerit velit non lorem tincidunt, non dictum ex suscipit. Morbi eget lorem sit amet ante ultricies vulputate. Sed mattis erat at sapien sagittis, in maximus nulla dignissim."
android:maxLines="2"
android:textSize="20sp"
android:textColor="@color/black"
android:ellipsize="end" />
</androidx.constraintlayout.widget.ConstraintLayout>
2. Java 코드에서 TextView를 찾고, 텍스트 더보기 기능을 추가합니다.
package com.example.everyrunrenew;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
public class ExampleActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
TextView textView = findViewById(R.id.text_view);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView textView = (TextView) v;
if (textView.getMaxLines() == 2) {
textView.setMaxLines(Integer.MAX_VALUE);
textView.setEllipsize(null);
} else {
textView.setMaxLines(2);
textView.setEllipsize(TextUtils.TruncateAt.END);
}
}
});
}
}
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] Activity 생명주기 onStart() 활용해 RecyclerView 데이터 갱신하기 (0) | 2023.06.10 |
---|---|
[Android][JAVA]setOnLongClickListener로 롱클릭 이벤트 발생시키기 (0) | 2023.06.08 |
[Android][Java] PlusingView 만들기 (0) | 2023.06.02 |
[Android][Java] ConstraintSet클래스를 사용해 Chain Weight 유동적으로 변경하기 (0) | 2023.05.28 |
[Android][Java] 원형 다이얼로그 구현하기 (2) | 2023.05.27 |