我正在尝试创建一个4x1的小部件。 我将提供者设置为以下
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="0"
android:initialLayout="@layout/widgetlayout"></appwidget-provider>
,小部件布局如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="320dp"
android:layout_height="100dp"
android:background="@drawable/widgetframe">
<Button android:id="@+id/butscan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me" />
<Button android:id="@+id/butenable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="On/Off"
android:paddingRight="5dip"/>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="4dip"
android:includeFontPadding="false"
android:id="@+id/lblcurrent"
android:text="Test"/></LinearLayout>
现在,当我在模拟器上尝试这个时,我只得到主屏幕上显示的图层的中间部分。背景图像是SDK(320x100)中的4x1肖像图像。
我缺少什么?
答案 0 :(得分:0)
LinearLayout的布局宽度和高度应该是fill_parent。
您的按钮没有任何图形资源,但我假设您在代码中分配了类似drawables或bitmaps的内容,否则它们可能无法显示。我从来没有创建过没有图像的按钮,所以我不知道它会如何表现。
我很惊讶您的“测试”文字没有显示,但是它可能会超出您的小部件的大小,因为您的背景比小部件本身更大。再次尝试fill_parent而不是320dp和100dp(顺便说一句,我从来没有使用'dp'只有'sp')。
答案 1 :(得分:0)
由于fill_parent
,您的TextView将接管布局。
您可能应该向其添加layout_weight=1
,因此它只会缩放到可用空间。