2012-06-07 1 views
0

У меня есть XML, где изображение заполняет 60% экрана:Почему layout_weight работает по-разному на отличаются устройств

    <RelativeLayout 
         android:id="@+id/rl_images_layout" 
         android:layout_width="0dp" 
         android:layout_weight="6" 
         android:layout_height="wrap_content" 
         android:layout_marginBottom ="5dp"> 

         <com.my.proj.view.ContentUpdatableImageView 
          android:id="@+id/iv_template1_image" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:adjustViewBounds="true" 
          android:scaleType="fitStart" /> 

         <ImageView 
          android:id="@+id/ivResizeIcon" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_alignRight="@id/iv_template1_image" 
          android:layout_alignTop="@id/iv_template1_image" 
          android:background="@drawable/btn_pinch" /> 

         <ImageView 
          android:id="@+id/ivRotateIcon" 
          android:layout_width="55dp" 
          android:layout_height="55dp" 
          android:layout_alignRight="@id/iv_template1_image" 
          android:layout_alignBottom="@id/iv_template1_image" 
          android:layout_marginRight="5dp" 
          android:layout_marginBottom="5dp" 
          android:background="@drawable/btn_rotate" 
          android:visibility="gone" /> 
       </RelativeLayout> 
       <View 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="4" /> 

На одном телефоне она работает хорошо (LG P500), но на другом устройстве (HTC Desire HD) изображение заполняет только 40%. Есть идеи?

+0

Что делает выглядит «Вид»? Это абстрактный класс, так как я могу сказать, что вы не сможете просто использовать его так. С головы до головы это кажется вероятной вещью. Замените его «FrameLayout» и посмотрите, правильно ли выглядит остальная часть представления. – DeeV

ответ

0

я думаю, что его из-за плотности пикселей

пожалуйста, проверьте этот

Android: screen support

+0

Все значения установлены в dip (dp) –

0

Попробуйте

android:weightSum="100" //for parent layout 

    android:layout_weight="60" // for first child //In your case relative layout 

    android:layout_weight="40" //for second child //In your case view 
1

Вы пропустили одну вещь.

Если вы используете android:layout_weight оба мнения должны иметь параметр fill_parent/match_parent как layout_heigth (если вы хотите, чтобы распространить экран)

Так изменить layout_heigth в своем первом взгляде на:

android:layout_height="fill_parent"