11

いくつかの静的情報を表示する以外は何もしない基本的なウィジェットを作成しています (これはチュートリアルのデモ演習です)。

私のウィジェット プロバイダーの XML は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialKeyguardLayout="@layout/widget"
    android:initialLayout="@layout/widget"
    android:minHeight="72dp"
    android:minWidth="294dp"
    android:updatePeriodMillis="60000" >

    <!-- NOTE 1: -->
    <!-- Widget sizing is done in terms of "blocks" on the screen. -->
    <!-- Each block is 74dp square. -->

    <!-- NOTE 2: -->
    <!-- OLD & WRONG FORMULA used to be: size = (n*74) - 2 -->

    <!-- NOTE 3: -->
    <!-- NEW FORMULA has been UPDATED: size = (n*70) - 30 -->
    <!-- Based on new formula, the size should be 40dp. -->

</appwidget-provider>

4x1 のウィジェットが必要です。つまり、1 行の高さです。

多くの投稿で見た式、height = (rows x 74) -2 に従って、72dp の minHeight の数値を取得し、1 行/ブロックのウィジェットの高さを提供する必要があります。

4.1.1 にインストールすると、4x2 のウィジェットが得られます。


それに続いて、レイアウトがウィジェットを予想よりも大きくしているのかもしれないと思いました。そこで、レイアウト ファイルからすべてを削除しました。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

</RelativeLayout>

まだ 4x2 - 2 ブロックの高さです。

4

2 に答える 2

17

使用する正しい高さ (1 行 / ブロックの場合) は次のとおりです。

android:minHeight="40dp"

同様に、正しい幅 (4 列/ブロックの場合) は次のとおりです。

android:minWidth="250dp"

これらの3つの質問に基づいて答えを見つけました(最初に確認する必要がありました...)


理由は、この回答で Artiom Chilaru によって与えられています

  • 式は size = (n*70) - 30 に変更されました

彼はApp Widget Design Guidelinesへのリンクを提供しています。

于 2013-01-16T11:50:07.157 に答える
0

android:layout_margin="8dp"レイアウトファイルから削除してみてください

于 2013-01-16T11:42:47.563 に答える