2013-07-29 1 views
1

위젯을 만들었습니다. 의도적으로 layout_weightlayout_weight에서 dip으로 이동해야합니까?

을 사용하므로 어떤 화면 크기에도 맞을 수 있습니다.

위젯은 항상 1X4로 확장됩니다.

이제는 다른 기기를보고 graphic editor과 무게가 도움이되지 않습니다.

딥 크기로 이동해야합니까?

선형 레이아웃은 배경 이미지와 관련하여 다르게 확장됩니다.

enter image description here

enter image description here

enter image description here

내 XML : 하나의 레이아웃은 일반 화면 크기의 디바이스에서 완벽하게 작동하기 때문에

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/app_widget_root" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/widget_bg_main" 
    android:clickable="true" 
    android:focusable="true" 
    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:padding="0dp" > 

    <RelativeLayout 
     android:id="@+id/layout_status_image" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:orientation="horizontal" 
android:layout_weight="0.21" 
> 

     <ImageView 
      android:id="@+id/image_status" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:src="@drawable/widget_icon_no_data" 
      android:visibility="invisible" /> 
     <!-- 
           Layout is necessary because the setVisibility of ProgressBar is not working 
           through remote views in 2.1. So wrapped by this layout 
     --> 

     <FrameLayout 
      android:id="@+android:id/widget_progress" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:layout_marginLeft="1dp" 
      android:layout_marginTop="1dp" > 

      <ProgressBar 
       style="?android:attr/progressBarStyle" 
       android:layout_width="39dp" 
       android:layout_height="39dp" 
       android:indeterminateOnly="true" 
       android:orientation="vertical" /> 
     </FrameLayout> 
    </RelativeLayout> <!-- Status image layout --> 


    <!-- 
          ======================================================================== 
          * Information layout - contains all the texts 
          ======================================================================== 
    --> 

    <LinearLayout 
     android:id="@+id/layout_information" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:gravity="center" 
     android:orientation="vertical" 
     android:paddingLeft="20dp" 
     android:layout_weight="0.56" 
     > 

     <TextView 
      android:id="@+id/text_view_destination" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="\@ Home in" 
      android:textColor="@color/solid_white" 
      android:textSize="19sp" 
      android:textStyle="bold" 
      android:layout_gravity="left" 

      /> 

     <TextView 
      android:id="@+id/text_view_time" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:textColor="@color/solid_white" 
      android:textSize="25sp" 
      android:textStyle="normal" 
      android:layout_gravity="left" 
      /> 
    </LinearLayout> <!-- Information layout --> 
    <!-- 
          ======================================================================== 
          * Action layout - action buttons container 
          ======================================================================== 
    --> 

    <LinearLayout 
     android:id="@+id/layout_action" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:orientation="vertical" 
     android:layout_weight="0.23" 
     > 

     <ImageView 
      android:id="@+id/image_action" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:src="@drawable/widget_bt_drive_disabled" /> 

     <TextView 
      android:id="@+id/text_view_action" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="2dp" 
      android:text="Drive!" 
      android:textColor="@color/disabled_white" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:layout_gravity="center" 
      /> 
    </LinearLayout> <!-- Action layout --> 

답변

0

그것은 명백하다 얼음이 대형/대형 스크린에서 같은 방식으로 작동한다는 것을 의미하지는 않습니다. 따라서 res "layout-large"또는 "layout-xlarge"(장치 화면 크기에 따라 다름) 내에 폴더를 만듭니다. 동일한 레이아웃을 새로 생성 된 폴더에 복사 한 다음 약간 변경하면 요구 사항에 따라 대형/대형 스크린에 적합합니다. 또한 이미지를 ldpi, mdpi, hdpi 및 xhdpi로 복사하여 여러 밀도를 지원할 수 있습니다. 이 도움이 http://developer.android.com/guide/practices/screens_support.html

희망 : 추가 정보를 위해

.

+1

하지만이 가늠자 문제를 정확히 해결할 수있는 무게를 사용해서는 안됩니까? 그렇지 않으면, 무엇에 대한 무게입니까? –

+0

해야합니다. 우리가 XML 파일을 검증 할 수 있도록 XML 파일을 제공해 주시겠습니까? – thegiga

+0

내 업데이트를 참조하십시오. –

관련 문제