2014-05-19 1 views
0

장소 정보 페이지에 대한 레이아웃 파일은 xml이며 선형 레이아웃과지도보기를 지정합니다. 각각의 선형 레이아웃은 2 TextViews이고, 하나는 머리말이고 다른 하나는 세부 사항입니다. 페이지 하단에는 경기장의 위치를 ​​나타내는 mapView이 있습니다.android : layout_width와 동일하게 minroid를 지정할 수 있습니다.

큰 화면/태블릿의 경우지도에 충분한 공간이 있으며 작은 화면 (예 : 전화의지도는 화면의 아래쪽에있는이 작은 공간에 압착되어 있습니다. 하단의지도를 제외하고 페이지의 기본 레이아웃에 만족합니다.

지도의 최소 높이가 최소한 dp 인 사용 가능 폭 (즉, )이인지 확인하는 것이 좋습니다. 화면 하단에지도를 채울 수있는 공간이 더 많은 경우, 즉 가로 세로 직사각형으로 만들려면 그렇게해야합니다.

편집 : 그들이 제공하는 정보가 실제로 사용자가보고 싶어하는 것이기 때문에 나는 이미 LinearLayouts의 동적 크기를 줄이고 싶지 않습니다. 아래

의사 코드 :

<com.google.android.gms.maps.MapView 
    android:id="@+id/mapView" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:minHeight="android:layout_width" 
    /> 

나는 Java 코드를 통해이 작업을 수행 할 수있을 것이라고 볼 수 있습니다. 320dp과 같은 특정 크기를 설정할 수도 있지만 여러 화면 크기에 맞게 크기를 조정하려면 더 많은 노력이 필요합니다.

xml 만 가능합니까?

+0

선형 레이아웃을 사용하여 항상 MapView에 화면 높이의 50 %를 할당 할 수 있습니까? 사실, MapView에 화면 크기와 dpi를 부여하기 위해 비율을 변경할 수 있습니다. –

+0

@confused_at_times 감사합니다. 아이디어는 좋은 생각입니다. 그러나 'LinearLayout'에 의해 제공되는 정보는 페이지의 실제 정보가있는 곳이므로 페이지의 실제 크기를 줄이는 것은 의미가 없습니다. 지도를 표시하십시오. – Chris

+1

나는 사용자로서 내지도가 화면의 전체 너비 (세로 모드)로 고정 된 위치에 있도록하고 싶습니다. 필요한 경우 ScrollView를 사용하여 다른 정보를 다른 위치에 배치 할 수 있습니다. 지도가 정말 눈알 꽂이 야, 그치? –

답변

0

@confused_at_times가 작성한 주석에 대해 생각할 시간이 있었기 때문에 실제로 문제는 xml의 사용할 수없는 옵션이 아니라 내 활동의 레이아웃에 있다고 결론을 냈습니다.

내가 선택한 해결책은 마커 핀이 클릭 가능한 페이지의 주요 요소로지도를 가져와 클릭시 사용 가능한 모든 세부 정보를 보여주는 것입니다.

0

View 유형의 경우 XML에서는 불가능합니다.

아시다시피 코드로 수행 할 수 있지만 항상이 유형의 기능이 매우 유용 할 것으로 생각했습니다.


그러나 ImageView 당신은 화면의 상단에 배너 이미지를 원하는 경우 예를 들어, adjustViewBounds 속성을 사용하여이 같은 작업을 수행 할 수 있으며, 올바르게 크기로합니다.

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:adjustViewBounds="true" 
    android:scaleType="fitStart" 
    android:src="@drawable/big_image" /> 

먼저 노출 모두 높이 & 폭, 즉 본 이미지 것 match_parent 화면을 작성한다는 것이다 아래

이 XML은 그 속성을 사용하는 방법을 도시한다. scaleType은 필요할 경우 크기를 변경할 수 있습니다.

트릭은 adjustViewBoundstrue으로 설정합니다.

이미지의 크기가 조정되지만보기의 아래쪽 경계가 새로 조정 된 이미지의 wrap_content이됩니다.

이 방법을 사용하면 작은 이미지가 늘어나지 않지만 더 큰 이미지를 작은 화면으로 축소 할 경우이 방법을 사용할 수 있습니다.

관련 문제