2017-10-23 1 views
0

난 그냥이에 대한 몇 가지 양념과 경험을 교육 대답을 원하는 빠른 응답은 충분합니다다른 장치에 다른 레이아웃을 작성해야합니까?

내 앱이 모든에 완벽하고 원활하게 조정할 것을 위해 많은 constraint layout 및 비율 매개 변수 가능한를 사용하려면 특정 해상도 이상의 화면 해상도, 예를 들어 ... 1080p ... 다른 브라우저 화면의 웹 페이지처럼.

그래서 나는 많은 시간을 투자했는데, 이제는이 영역으로 들어가기 시작할수록 기본 목표가 근본적으로 결함이 있다는 것을 깨닫게되었습니다. 더 일반적인 습관은 당신이해야한다는 것입니다. 먼저 DETECT 귀하의 앱이 실행되고있는 장치의 해상도를 확인한 다음 그에 따라 다른 레이아웃을로드하십시오.

그러나 나는 포기하지 않을 것입니다. 어떤 방향으로 나아갈 지 결정할 수 있도록 도와 줄 수 있습니까?

+2

이것은 초록으로는 대답 할 수 없습니다. 전적으로 귀하의 UI 디자인에 달려 있습니다.일반적으로 우리는 하나의 레이아웃을 사용하려고 시도 할 수도 있지만, 필요한 것으로 판명 된 다른 화면 크기에 대해 2+ 버전의 레이아웃으로 되돌아갑니다. – CommonsWare

+1

필요는 없습니다. 그러나 그것은 매우 권고됩니다. –

답변

2

내가 알기로는 "모든 화면 해상도에 완벽하고 완벽하게 조정하는"앱을 개발하는 것이 가장 좋습니다.
핵심 안드로이드 회사에서 작동하는 몇 가지 플랫폼 수준의 우려 사항/버그를 다루었으며보고 된 문제 응용 프로그램의 대부분은 이러한 규범의 잘못된 사용으로 인해 발생했습니다. 예를 들어
:
- 당신이 기본을 통과 시간을 보낼 수있는 경우

개발자 링크가 일부 사용 될 수있는 일반화 된 밀도 버킷 각각에 맞는 비트 맵 자원을 제공하지 :
developers_multiscreen

0

마 당신은 다른 장치에 다른 레이아웃을 써야합니까?

번호

서로 다른 장치에 대한 매우 다른 레이아웃을합니다.

예. 태블릿 버전에서 당신은 당신이 전화 버전에서 사용하지 않습니다 전망을 추가해야 할 것입니다 경우 다음을 수행 할 수 있습니다

1) ... 가시성을 처리하고 하나의 레이아웃을 사용하지만,

2) 이러한보기가 너무 많거나 RAM이 많은 특정보기 (지도보기와 같은) 인 경우 전화에서 더 나은 성능을 위해 두 부분으로 레이아웃을 분할 할 수 있습니다.

어쨌든 코드에서는 시스템에서 사용할 레이아웃을 프로그래밍 방식으로 확인해야하며 부 자연스러운 현상을 피하기 위해 매우 정확해야합니다. 따라서 대부분의 경우 안정성을 위해 성능을 희생하기로 결정할 수 있으며 다른 레이아웃을 사용하는 경우는 거의 없습니다.

+0

안녕하세요, 관련 메모에 대한 답변을 주셔서 감사합니다. "레이아웃을 한 번 실행하고 모든 곳에서 실행"하려면 ConstraintLayout보다 relativeLayout이 좋을까요? – VictorCharlie23

+0

ConstraintLayout에는 많은 이점이 있지만 개인적으로는 LinearLayout, FrameLayout, Spaces 및 사용자 정의보기를 사용하여 모든 것을 만들 수있는 좋은 방법을 찾았습니다. 그래픽 레이아웃 대신 XML 쓰기를 선호합니다. 두 가지 모두 거의 모든 것을 얻을 수 있지만 RelativeLayout은 더 적은 옵션을 제공합니다 –

0

당신은 다음과 같은 화면 크기 레이아웃 파일

ldpi (low) ~120dpi 
mdpi (medium) ~160dpi 
hdpi (high) ~240dpi 
xhdpi (extra-high) ~320dpi 
xxhdpi (extra-extra-high) ~480dpi 
xxxhdpi (extra-extra-extra-high) ~640dpi 

당신은 작은 화면 폭에 맞게 크기를 설정해야을 확인해야합니다.

참조 : https://developer.android.com/guide/practices/screens_support.html

+0

당신이 제안하는 것을 알고 있다고 생각합니다. 모든 곳에서 PNG를 사용하여 그 문제를 속이려했다고 생각합니다.) – VictorCharlie23

+0

문제가 해결되면 내 대답을 수락 :);) –

관련 문제