安卓小部件填充问题

4
我正在尝试克隆来自Sony Ericsson手机的电源管理小部件,但我在处理新的ICS小部件填充时遇到了问题。
我已经阅读了下面的文章链接,但我仍然有问题。
我在GB上运行我的小部件,它的工作方式就像我想要的那样(第二个是克隆): http://i.minus.com/iQmbhue0z0jJz.png 但是在ICS中运行时,我的小部件变得比原始小部件更小: http://i.minus.com/iudmWwv6xBsxA.png 我的文件是:

widget_info.xml (@xml/widget_info.xml)

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="40.0dip"
    android:minHeight="40.0dip"
    android:updatePeriodMillis="0"
    android:initialLayout="@layout/widget" >
</appwidget-provider>

widget.xml(@layout/widget.xml)

<ImageView android:id="@+id/widget1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:contentDescription="@string/app_name"
        android:src="@drawable/sms_disabled"
        android:clickable="true"
        xmlns:android="http://schemas.android.com/apk/res/android" />

我已经尝试在ImageView中添加android:padding="0dp",也尝试在widget.xml上放置布局并在其上添加android:padding="0dp",但我仍然遇到了这个问题。

有什么建议吗?


5
没问题,我可以为您翻译。以下是需要翻译的文章:文章链接:http://radleymarx.com/blog/app-widget-padding-margins-in-ics-android/
  • 我还没有10点声望,对此表示抱歉。
- Renato Böhler
1
你的意思是你找到了答案,但不能为自己回答吗? - Jose_GD
1个回答

3
小部件在ICS上变小是因为Android 4.0或更高版本会自动在小部件周围创建一个边距(详见Android开发者API)。解决方法是创建两个xml文件:一个用于ICS或更高版本,没有额外的边距,另一个用于旧版Android,有一个额外的边距。 res/values/dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="widget_margin">8dp</dimen>
</resources>

res/values-v14/dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="widget_margin">0dp</dimen>  
</resources>

然后在您的小部件xml文件中的布局中添加android:layout_margin="@dimen/widget_margin"

但是,带有(某些版本的?)三星Touchwiz Launcher的手机不会在ICS上应用自动边距,因此您可能还想为此进行补偿。有关此信息的更多信息,请参见此问题:Widget margins not applied on ICS phone with TouchWiz launcher?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接