4

SonyEricsson電話からPowerManagementウィジェットのクローンを作成しようとしていますが、ウィジェットの新しいICSパディングに問題があります。

この記事[以下のリンク]を読みましたが、まだ問題があります。

ウィジェットをGBで実行しましたが、希望どおりに機能します(2番目はクローンです):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" />

私はすでにandroid:padding="0dp"ImageViewを入れようとしました、私はすでにレイアウトを入れてwidget.xmlからそれを入れようとしandroid:padding="0dp"ました、しかし私はまだこの問題を抱えています。

助言がありますか?

4

1 に答える 1

3

Android 4.0 以降ではウィジェットの周囲に自動的に余白が作成されるため、ウィジェットは ICS では小さくなります ( Android 開発者 APIも参照してください)。解決策は、2 つの xml ファイルを作成することです。1 つは ICS 以降用で、余分なマージンはありません。もう 1 つは古い 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>

android:layout_margin="@dimen/widget_margin"次に、ウィジェット xml ファイルのレイアウトに追加します

ただし、(一部のバージョンの?) Samsungs Touchwiz Launcher を搭載した携帯電話では、ICS に自動マージンが適用されないため、それを補う必要がある場合もあります。この質問の詳細については、TouchWiz launcher を使用した ICS 電話にウィジェットのマージンが適用されていませんか?

于 2014-03-10T08:45:28.490 に答える