1

私の問題は、ウェイトの使用と、LinearLayoutの直後に続くRelativeLayoutに何も含まれていないことに起因していると思います...しかし、それを機能させることはできません。

これが私が達成しようとしていることです(背景画像で中央領域に焦点を合わせます)LinearLayoutの背景を画像にすることでこれを取得します... RemoteViewsではこれを行うことはできません): ここに画像の説明を入力してください

次のxmlで得られるものは次のとおりです。 ここに画像の説明を入力してください

<LinearLayout 
            android:id="@+id/forecast_ll"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:orientation="horizontal"
            android:background="@drawable/transparent"
            android:layout_weight="4.5"
            android:weightSum="2">
            <RelativeLayout 
                android:id="@+id/widget_bg_rl"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
            <ImageView
                android:id="@+id/widget_bg"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop" />
            <LinearLayout 
                android:id="@+id/current_ll"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical"
                android:gravity="center_vertical"
                android:paddingLeft="10dp"
                android:layout_weight="1">
                <TextView
                    android:id="@+id/update_time_tv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/at"
                    android:textSize="16dp"
                    android:textColor="@color/white"
                    />
                <TextView
                    android:id="@+id/current_temp_tv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="-2dp"
                    android:text="35 F"
                    android:textSize="44dp"
                    android:textColor="@color/white"
                    android:includeFontPadding="false"
                    />
                <TextView
                    android:id="@+id/current_short_text_tv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="-6dp"
                    android:text="partly cloudy"
                    android:textSize="16dp"
                    android:textColor="@color/white"
                    />
            </LinearLayout>
            <LinearLayout
                android:id="@+id/layout_divider"
                android:layout_width="1dip"
                android:layout_height="match_parent"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:layout_gravity="center_vertical"
                android:background="@color/white"
                />
            <LinearLayout 
                android:id="@+id/extended_forecast_ll"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:layout_weight="1"
                android:weightSum="2">
                <LinearLayout 
                    android:id="@+id/day_one_ll"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:orientation="horizontal"
                    android:layout_weight="1">
                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:padding="8dp">
                        <ImageView
                            android:id="@+id/day_one_image"
                            android:layout_width="24dp"
                            android:layout_height="24dp"
                            android:src="@drawable/widget_icon"
                            android:layout_gravity="center_vertical"
                            android:layout_marginLeft="8dip"
                            />
                    </LinearLayout>
                   <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:layout_gravity="center_vertical">
                        <TextView
                            android:id="@+id/day_one_daytv"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="WED"
                            android:textColor="@drawable/white"
                            />
                        <TextView
                            android:id="@+id/day_one_hilo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="155 / 125"
                            android:textColor="@drawable/white"
                            />
                    </LinearLayout>
                </LinearLayout>
                <LinearLayout
                    android:id="@+id/layout_divider"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_gravity="center_horizontal"
                    android:background="@color/white"
                    />
                <LinearLayout 
                    android:id="@+id/day_two_ll"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:orientation="horizontal"
                    android:layout_weight="1">
                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:padding="8dp">
                        <ImageView
                            android:id="@+id/day_two_image"
                            android:layout_width="24dp"
                            android:layout_height="24dp"
                            android:src="@drawable/widget_icon"
                            android:layout_gravity="center_vertical"
                            android:layout_marginLeft="8dip"
                            />
                    </LinearLayout>
                   <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:layout_gravity="center_vertical">
                        <TextView
                            android:id="@+id/day_two_daytv"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="WED"
                            android:textColor="@drawable/white"
                            />
                        <TextView
                            android:id="@+id/day_two_hilo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="55 / 25"
                            android:textColor="@drawable/white"
                            />
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
            </RelativeLayout>
        </LinearLayout>
4

2 に答える 2

0

アイテムをRelativeLayout内に配置していないため、どのアイテムもどこに配置するかがわかりません。LinearLayoutとは異なり、アイテム内の他のビューおよび親自体に対して、アイテムを配置する場所を各アイテムに指示する必要があります。

これを実現するには、次のような測位パラメータを使用する必要があります。

android:layout_toRightOf="@id/aView"
android:layout_centerInParent="true"
android:layout_below="@id/aView"

等...

他のRelativeLayoutアライメントルールを読む必要があります:http://developer.android.com/reference/android/widget/RelativeLayout.html

于 2012-06-14T16:10:31.283 に答える
0

これが私の調整されたxmlレイアウトです...最も外側のLinearLayoutからweightsumと関連アイテムを削除しました:

    <LinearLayout 
        android:id="@+id/forecast_ll"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:background="@drawable/transparent"
        android:layout_weight="4.5"
        >
        <RelativeLayout 
            android:id="@+id/widget_bg_rl"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <ImageView
            android:id="@+id/widget_bg"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/al_widgetbg_01_05"
            android:scaleType="centerCrop" />
        <LinearLayout 
            android:id="@+id/current_ll"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="vertical"
            android:gravity="center_vertical"
            android:paddingLeft="10dp"
            >
            <TextView
                android:id="@+id/update_time_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/at"
                android:textSize="16dp"
                android:textColor="@color/white"
                />
            <TextView
                android:id="@+id/current_temp_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="-2dp"
                android:text="35 F"
                android:textSize="44dp"
                android:textColor="@color/white"
                android:includeFontPadding="false"
                />
            <TextView
                android:id="@+id/current_short_text_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="-6dp"
                android:text="partly cloudy"
                android:textSize="16dp"
                android:textColor="@color/white"
                />
        </LinearLayout>
        <LinearLayout
            android:id="@+id/layout_divider"
            android:layout_width="1dip"
            android:layout_height="match_parent"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:background="@color/white"
            android:layout_centerHorizontal="true"
            />
        <LinearLayout 
            android:id="@+id/extended_forecast_ll"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:layout_toRightOf="@id/layout_divider"
            android:weightSum="2">
            <LinearLayout 
                android:id="@+id/day_one_ll"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:orientation="horizontal"
                android:layout_weight="1">
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:padding="8dp">
                    <ImageView
                        android:id="@+id/day_one_image"
                        android:layout_width="48dp"
                        android:layout_height="48dp"
                        android:src="@drawable/widget_icon"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="8dip"
                        />
                </LinearLayout>
               <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:layout_gravity="center_vertical">
                    <TextView
                        android:id="@+id/day_one_daytv"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="WED"
                        android:textColor="@drawable/white"
                        />
                    <TextView
                        android:id="@+id/day_one_hilo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="155 / 125"
                        android:textColor="@drawable/white"
                        />
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:id="@+id/layout_divider"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginLeft="10dp"
                android:layout_gravity="center_horizontal"
                android:background="@color/white"
                />
            <LinearLayout 
                android:id="@+id/day_two_ll"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:orientation="horizontal"
                android:layout_weight="1">
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:padding="8dp">
                    <ImageView
                        android:id="@+id/day_two_image"
                        android:layout_width="48dp"
                        android:layout_height="48dp"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="8dip"
                        />
                </LinearLayout>
               <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:layout_gravity="center_vertical">
                    <TextView
                        android:id="@+id/day_two_daytv"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="WED"
                        android:textColor="@drawable/white"
                        />
                    <TextView
                        android:id="@+id/day_two_hilo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="55 / 25"
                        android:textColor="@drawable/white"
                        />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
        </RelativeLayout>
    </LinearLayout>
于 2012-06-14T18:10:09.133 に答える