我已经使用
声明了一个AppWidgetProvider <receiver android:name="uk.co.bmc.rad.widgets.NearestOpenCragWidgetProvider" android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/nearest_open_crag_widget_info" />
</receiver>
在res / xml中我添加了nearest_open_crag_Widget_info.xml包含
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" >
android:minWidth="486dp"
android:minHeight="144dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/nearest_open_crag_widget"
android:resizeMode="none">
</appwidget-provider>
我在Eclipse模拟器中运行它,无论我为minWidth和minHeight指定的大小,小部件都添加了相同的尺寸。
正如您在屏幕底部所见:
如果布局出现问题,我会在此处加入。根据状态
我有三个RelativeLayouts(希望是)隐藏或显示<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="@dimen/widget_margin"
android:background="#525252" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="@color/bmc_red"
android:gravity="center" >
<TextView
android:id="@+id/widget_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center|fill_horizontal"
android:gravity="center|center_horizontal"
android:text="@string/the_nearest_open_crag_is_"
android:textColor="@android:color/white"
android:textSize="20dp" />
</RelativeLayout>
<ProgressBar
android:id="@+id/nearest_crag_loading_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true" />
<RelativeLayout
android:id="@+id/nearest_crag_loading_error_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:visibility="gone" >
<ImageView
android:id="@+id/nearest_crag_error_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:contentDescription="@string/error_image_content_description"
android:src="@android:drawable/ic_dialog_alert" />
<TextView
android:id="@+id/nearest_crag_loading_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/nearest_crag_error_image"
android:gravity="center|center_vertical"
android:text="@string/ah_no_error_message_crikey_" >
</TextView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/nearest_open_crag_details_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone" >
<TextView
android:id="@+id/name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/crag_list_spacer"
android:singleLine="true"
android:text="@string/list_view_name_string"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/distance_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/name_text"
android:layout_marginLeft="@dimen/crag_list_spacer"
android:layout_marginRight="@dimen/crag_list_spacer"
android:singleLine="true"
android:text="@string/list_view_distance_string"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/description_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/distance_text"
android:layout_marginLeft="@dimen/crag_list_spacer"
android:layout_marginRight="@dimen/crag_list_spacer"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/crag_description"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/nearest_crag_btn_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/description_text"
android:layout_below="@+id/description_text"
android:layout_marginTop="10dp"
android:clickable="true"
android:text="@string/open_details" />
</RelativeLayout>
</LinearLayout>
非常感谢提前
答案 0 :(得分:0)
它不会忽略您的设置
请在此处阅读http://developer.android.com/guide/practices/ui_guidelines/widget_design.html
如果您的窗口小部件背景九补丁中有任何固有内容填充,您应该相应地添加到minWidth和minHeight。
答案 1 :(得分:0)
您需要将相同的minHeight或minWidth应用于children元素(看起来很迟钝,不是吗?)
如果您将相同的设置调整为子项,则appwidget-provider中的设置会起作用,我的情况如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="@dimen/widget_margin"
android:background="#525252"
android:minWidth="486dp"
android:minHeight="144dp">