찾다
Java뷰의 전체 높이를 얻는 방법

질문 내용

몇 페이지를 그려야 하는지 알기 위해 PDF를 생성하려면 뷰의 전체 높이를 가져와야 합니다.

데이터베이스의 데이터가 포함된 ScrollView가 있는 화면 콘텐츠를 사용하여 PDF를 생성해야 합니다.

이를 위해 테스트 프로젝트를 만들었습니다. 아래 코드를 참조하세요.

더 많은 이미지를 추가하기 위해 XML을 변경하더라도 이 코드는 항상 같은 번호를 제공합니다.

으아악

이것은 제가 생성한 PDF 코드입니다:

으아악

이것은 내 XML 파일입니다:

으아악

@편집자: 내가 시도한 링크는 다음과 같습니다. Android: ScrollView의 총 높이

레이아웃이 그려지는 시점을 어떻게 알 수 있나요?

@Edit2: PDF 생성을 위한 튜토리얼은 다음과 같습니다(1페이지만 생성하므로 더 많은 페이지를 생성하는 코드는 제가 찾은 것입니다). https://www.youtube.com/watch?v=-JC1PI-dSeE


정답


코드는 어떤 번호를 줄지 알려주고 그 번호를 고치기 때문에 항상 같은 번호를 줍니다. 주어진 크기.

Measurespec을 docs

에 따라 정확하게 설정한 경우

그래서 화면 크기를 기준으로 계산된 잘못된 크기로 보기 크기를 강제하고 있습니다.

PDF 보기를 그릴 때 PDF 페이지를 화면에 맞는 재미있는 크기로 설정하거나 A4와 같은 표준 용지 크기로 설정할 수 있습니다

비표준 너비를 선택하면 비표준 높이를 사용할 수도 있으며 페이지가 하나만 있을 수도 있습니다. 그런 다음 사용자가 인쇄하려면 다양한 너비와 높이의 페이지로 분할해야 합니다. 사용자 관점에서 보면 단지 화면에서 PDF를 보는 것이라면 여러 페이지를 사용해도 아무런 이점이 없습니다

PDF의 표준 페이지 크기를 고수한 다음 장치의 물리적 화면 크기에 관계없이 PDF를 별도의 저해상도 화면으로 처리하는 것이 더 낫다고 생각합니다(페이지를 위, 아래, 왼쪽, 그리고 맞아)

단일 뷰를 측정하는 경우 전체 뷰와 모든 하위 뷰를 측정하는 것이므로 슬라이스(두 번째 및 세 번째 페이지에서 보려는 내용)를 측정할 수는 없습니다.

보기에서 다중 페이지 PDF를 만드는 두 가지 주요 방법이 있습니다.

  1. 모든 것을 그린 다음 여러 페이지에 걸쳐 자르고 깍둑썰기합니다. 이 방법을 사용하면 한 페이지에 있는 일부 텍스트 줄의 위쪽 절반과 다른 페이지에 있는 일부 줄의 위쪽 절반과 같이 페이지 간에 항목을 분할할 수 있습니다. 읽을 수 없게 만듭니다. 이는 좋은 접근 방식이 아닙니다.

  2. 상위 뷰의 하위 뷰를 반복하고, 각 하위 뷰를 측정하고, 단일 페이지의 레이아웃에 추가합니다. 이렇게 하면 각 하위 보기의 크기를 얻은 다음 추가한 모든 보기의 누적 크기를 계산하여 페이지 크기에 비해 너무 큰지 확인할 수 있습니다. 너무 크면 PDF 페이지를 닫고 새 페이지에 레이아웃을 시작합니다. 이는 항목이 여러 페이지에 걸쳐 분할되지 않음을 의미합니다(훨씬 더 좋습니다).

https://www.php.cn/link/ea89621bee7c88b2c5be6681c8ef4906은 개별 하위 뷰를 측정하여 스크롤 가능한 화면에서 다중 페이지 PDF를 생성하는 방법에 대한 완전한 예입니다(이 경우 스크롤 가능한 화면은 재활용 보기입니다. 하지만 비슷한 방식으로 스크롤 뷰의 하위 항목을 반복할 수 있습니다.

A4 페이지의 해상도가 매우 낮기 때문에 실제 화면의 일반 글꼴 크기(또는 다른 프로젝트 크기)가 너무 클 수 있으므로 다른 화면 크기에 대해 일반적으로 하는 것처럼 이러한 레이아웃의 크기를 조정해야 합니다) . 낮은 해상도를 위해 PDF 페이지의 크기를 조정하고 PDF 페이지 크기의 배수로 그린 다음 PDF 캔버스에서 배율을 설정하여 다시 올바른 크기로 조정하는 방법이 있습니다(예: 두 배의 레이아웃으로 그리기). 그런 다음 PDF 페이지에 그릴 때 모든 것을 절반 크기로 다시 조정합니다.

발생할 수 있는 문제는 Textview가 한 페이지에 들어갈 수 있는 것보다 더 많은 텍스트를 블록에 포함할 수 있다는 것이지만, 하나가 아닌 두 개의 Textview를 생성하려면 추가 처리가 필요합니다.

위 내용은 뷰의 전체 높이를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 stackoverflow에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)