2013-10-23 105 views
2

我有一个Android小部件。我希望它是4个单元格宽度和2个单元格高度。现在小部件的大小是4乘4(出于某种原因)。而奇怪的是,小部件的内容,即帧(根据this definition)尺寸较小。 因此,大多数主屏幕都是空白的,但我无法重新定位窗口小部件(似乎它需要在我的主屏幕上显示所有4到4个单元格)。 这里是我的小部件提供商布局文件的代码:Android Widget错误的尺寸

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:initialLayout="@layout/widget_demo" 
    android:minHeight="110dp" 
    android:minWidth="250dp" 
    android:updatePeriodMillis="1800000" 
    > 
</appwidget-provider> 

这里是小部件布局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
    android:layout_height="110dp"  
    android:orientation="vertical" 
    android:layout_margin="1sp" 
    android:background="@android:drawable/alert_dark_frame" > 

    <TextView 
     android:id="@+id/widgetTextView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="some_text" 
     android:textColor="#FFFFFF" 
     android:textSize="30dp" /> 



    <Button 
     android:id="@+id/widget_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="some_text" 
     android:textSize="20dp"/> 

</LinearLayout> 

问题是什么?为什么需要4乘4而不是4乘2?

+0

你尝试将'LinearLayout'从'android:layout_height =“110dp”'更改为'android:layout_height =“match_父母“? – Dyna

回答

1

应用程序窗口小部件的布局应是灵活的调整,以适应他们的父容器

因此,改变你的LinearLayout

android:layout_width="wrap_content" 
android:layout_height="110dp" 

匹配父大小

android:layout_width="match_parent" 
android:layout_height="match_parent"