나는 색상 선택기를 가져 오는 상황이 있습니다. 그것이 세로 모드에서 완료되면 모든 것이 좋습니다. 그러나 가로 모드 (대화 상자가 화면에 맞지 않습니다)로 레이아웃을 수행하면 레이아웃을 부 풀릴 때 불어 날 것 같습니다.안드로이드 : 가로 모드에서 날아 다니지 만 세로 모드에서는 나타나지 않습니다.
보기가 화면에 완전히 들어 가지 않는 가로 모드에서 특별한 방법이 있습니까?
화면상의 다른 점을 고려해야 할 차이가 있습니까?
나는 색상 선택기를 가져 오는 상황이 있습니다. 그것이 세로 모드에서 완료되면 모든 것이 좋습니다. 그러나 가로 모드 (대화 상자가 화면에 맞지 않습니다)로 레이아웃을 수행하면 레이아웃을 부 풀릴 때 불어 날 것 같습니다.안드로이드 : 가로 모드에서 날아 다니지 만 세로 모드에서는 나타나지 않습니다.
보기가 화면에 완전히 들어 가지 않는 가로 모드에서 특별한 방법이 있습니까?
화면상의 다른 점을 고려해야 할 차이가 있습니까?
CraigA,
의견을 읽고 나면, 서로 다른 폭과 높이가 XML에서 생성되는 방식에 대한 오해가있는 것 같다. 이것은 처음에는 일반적인 오해입니다. 따라서 여기에서 이해해야 할 점은 다양한 객체의 폭은 동적이지만 객체에 다른 동작을 부과한다는 것입니다. layout_width/layout_height
일반적
폭 및 높이 파라미터는 객체의 실제 너비와 높이에 영향을 미치지 않는다. 디스플레이의 폭과 높이에 영향을줍니다. 즉 너비와 높이를 내용보다 작게 설정할 수 있으며 내용이 컨테이너보다 큰 경우 스크롤 할 때 내용에 계속 액세스 할 수 있습니다.
많은 하위 뷰가 상위 뷰에서 큐를 가져 오기 때문에 위와 같은 동작이 발생할 수 있습니다. 트릭은 먼저 무슨 일이 일어나고 있는지 이해하고 시스템의 동작을 보완하는 것입니다.
match_parent/fill_parent
는 일반적으로, 이것은 현재보기가 부모로부터의 크기를 얻을 것을 의미합니다. 보기가 최상위보기이면 동작이 약간 변경됩니다. 이것이 대화 상자의 최상위보기 인 경우, 화면 크기 또는 내용 크기 중 작은 값이됩니다. 보기가 활동의 최상위보기 인 경우 결과는 동일하지만 모양이과 다릅니다. 즉, 전체 활성 불투명도와 배경을 갖지만보기의 크기는 화면의 내용이나 크기 중 작은 크기와 같습니다. 아이의 크기는,이 뷰의 폭/높이에 근거하지 않는 한, 영향을받지 않습니다.
wrap_content이 경우
는, 디스플레이 높이는 즉시 모든 아이의 표시 높이 기반으로합니다. 계층 구조가 wrap_content
이외의 다른 것을 사용할 때까지이 동작은 "가장 어린"자손으로 계단식으로 연결됩니다.
귀하의 문제는 (그것이 지금 나타나는)
귀하의 최상위보기는 wrap_content를 사용하기 때문에 디스플레이 크기는 아이의 디스플레이 크기 모두를 기반으로한다. 이 경우 최상위보기에만 match_parent' or
fill_parent` (API에 따라 다름)를 사용하는 것이 좋습니다. 적어도 Dialog는 내용이 아닌 적절한 크기가 될 것입니다. 최상위 레벨보기를 기준으로 크기가 조절되는 컨트롤의 경우 줄이 정렬됩니다. 그렇지 않은 경우 수동으로 조정해야합니다.
여기 결정은 구현입니다. 모든 디스플레이 또는 가로 방향의 크기를 조정해야합니까? 변경 사항이 세로보기에 영향을주지 않으면 하나의 파일이 좋을 것입니다. 그렇지 않은 경우 세로 (현재) 레이아웃 파일을 원할 것입니다. 그리고 가로 모드에 맞게 레이아웃 파일을 원할 것입니다.
두 개의 파일을 사용하는 경우 현재 파일을 저장할 폴더는 layout_port
입니다. 조정 된 폴더에 layout_land
이라는 폴더를 추가합니다. 그것들은 같은 이름이 될 것이고, 분리 된 폴더에 보관 될 것입니다. 이 도움이
희망,
FuzzicalLogic
이것은 많은 FuzzicalLogic을 돕습니다. 나는이 기회를 줄거야. 그리고 고마워! – CraigA
화면의 폭에 따라 대화의보기를 구성처럼 소리. 이 경우, 당신이 논의하고있는 행동을 일으킬 것입니다. 대화 상자의 코드를 여기에 배치하여 분석하고 도움을 줄 수 있습니다. –
글쎄, 여기 코드의 (분명히) 문제가 있습니다. 왜 이것이 풍경 모드에서 문제가되어야하는지 누구라도 알면 나는 모두 귀입니다. '\t \t public ColorPickerDialog (최종 컨텍스트 컨텍스트, int 색상, OnColorPickerTapListener 수신기) { \t \t \t this.listener = listener; \t \t \t Color.colorToHSV (color, currentColorHsv); \t \t \t 최종보기 view = LayoutInflater.from (context) .inflate (R.layout.colordialog, null); \t \t \t viewHue = view.findViewById (R.id.viewHue); ' – CraigA
음, 여기서 편집하는 데 약간의 문제가 있습니다. xml의 너비와 높이는 '\t android : layout_width = "wrap_content" \t android : layout_height = "wrap_content" '과 같이 상대적 레이아웃의 wrap_content로 설정됩니다. 불평. 다른 사람이 무슨 일이 일어나는지보기 위해 어떤 도움이 될지 모르겠습니다. ???? – CraigA