안 드 로 이 드 SpannableString 여러 줄 의 그림 과 글 이 혼 합 된 응용 실전 을 상세 하 게 설명 합 니 다.
3603 단어 android그림 과 글 을 혼합 하여 배열 하 다.
따라서 당신 이 상기 문제 에 시 달리 고 있 든 없 든 간 에 아직 겪 지 못 했 든 간 에 이 짧 은 글 을 자세히 읽 어 보 세 요.상기 디자인 수 요 를 쉽게 실현 할 수 있 을 뿐만 아니 라 다른 멋 진 효 과 를 얻 을 수 있 으 며 현재 당신 이 겪 고 있 는 문 제 를 해결 하 는 데 도움 이 될 수 있 습 니 다.
우선 이 효과 도 를 살 펴 보 겠 습 니 다.그림 에 이 그림 을 올 리 는 것 이 어떻게 실현 되 는 지 주의 하 시 겠 습 니까?물론 당신 도 그의 클릭 사건 을 설정 할 수 있 습 니 다.예 를 들 어 동 영상 이나 다른 유형 이 있 으 면 우 리 는 소 개 를 많이 하지 않 고 프로젝트 의 구체 적 인 수 요 를 보면 됩 니 다.
효과 도
한 줄 에 관련 이 있다 면 텍스트 뒤에 imageview 만 추가 하면 됩 니 다.하지만 여러 줄 로 표시 하면 이렇게 하 는 것 은 좋 지 않 습 니 다.
그럼 SpannableString 은 무엇 일 까요?
SpannableString 은 사실 String 과 마찬가지 로 문자열 형식 입 니 다.마찬가지 로 TextView 도 SpannableString 을 디 스 플레이 텍스트 로 직접 설정 할 수 있 습 니 다.다른 것 은 SpannableString 은 그 방법 을 사용 하여 setSpan 방법 으로 문자열 의 다양한 스타일 을 표시 할 수 있 습 니 다.중요 한 것 은 설정 할 수 있 는 구간 을 지정 할 수 있 습 니 다.다음 구간 의 하위 문자열 설정 형식 을 문자열 에 지정 하 는 것 입 니 다.
setSpan(Object what,int start,int end,int flags)방법 은 사용자 가 네 개의 인 자 를 입력 해 야 합 니 다.what 는 설정 한 형식 이 무엇 인지,전경 색 일 수도 있 고 배경 색 일 수도 있 으 며 클릭 할 수 있 는 텍스트 일 수도 있 습 니 다.start 는 형식 을 설정 해 야 하 는 하위 문자열 의 시작 하 표를 표시 합 니 다.같은 이치 end 는 끝 하 표를 표시 합 니 다.flags 는 하나의 표지 로 모두 다음 과 같은 네 가지 속성 이 있 습 니 다.
여기까지.코드 에서 이 효 과 를 어떻게 실현 하 는 지 볼 까요?
String title = MapUtil.getValueStr(datas.get(position), "Title");
try {
title = java.net.URLDecoder.decode(title, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//
Drawable drawable = getResources().getDrawable(R.mipmap.icon_top);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());// int ,
ImageSpan is = new ImageSpan(drawable);
String space = " ";
title = title + space;
int strLength = title.length();
SpannableString ss = new SpannableString(title);
ss .setSpan(is,strLength-1, strLength, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
if ("1".equals(TopFlag)) { //
viewHolder.title.setText(ss.subSequence(0,strLength));
} else {
viewHolder.title.setText(title);
}
인터페이스 에서 돌아 오 는 title 을 가 져 온 후,우리 가 필요 로 하 는 그림 을 Drawable drawable=getResources().getDrawable(R.mipmap.icontop);drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());//여기 서 두 분 은 int 류 인 자 를 입력 하지 마 세 요.그렇지 않 으 면 대형 스크린 핸드폰 에 고 르 지 않 은 상황 이 나타 날 수 있 습 니 다.
그림 을 가 져 온 후 원 하 는 크기 와 위 치 를 설정 하면 이 효 과 를 쉽게 실현 할 수 있다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.