3

Android4.2で導入されたロックスクリーンウィジェットの参照を見つけるのに多くの問題があります。

ランチャーで正常に動作するウィジェットを作成しましたが、期待どおりのサイズになっています。ただし、このウィジェットをロック画面に表示できるようにしたため、垂直方向のサイズが適切に設定されていません。

http://developer.android.com/guide/topics/appwidgets/index.html#lockscreenによると、設定すると垂直方向に利用可能なサイズになりますandroid:resizeMode="vertical"

ウィジェットがそれ自体を垂直方向にサイズ変更可能としてマークしている場合、ウィジェットの高さは、ロック解除UIを表示しているポートレート電話で「小さい」と表示されます。他のすべての場合、ウィジェットは使用可能な高さを満たすようにサイズ設定されます。

また、http: //developer.android.com/guide/practices/ui_guidelines/widget_design.htmlで説明されているサイズ設定を使用しました

タイル>サイズ

  • 1> 40dp
  • 2> 110dp
  • 3> 180dp
  • 4> 250dp
  • …>>…</li>
  • n>70×n− 30

私はこれを設定しましたが、atは「小さな」ウィジェットよりもさらに小さいように見えます。基本的に、画像1のウィジェットの何が問題で、展開されないのかを誰かが知っていますか?私のコードは以下の通りです。

1)デフォルト状態での外観。

ここに画像の説明を入力してください

2)別の画面で展開したときの外観。

ここに画像の説明を入力してください

xml / clock_widget.xml

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialKeyguardLayout="@layout/clock_widget"
    android:initialLayout="@layout/clock_widget"
    android:minHeight="110dp"
    android:minWidth="180dp"
    android:resizeMode="vertical"
    android:updatePeriodMillis="1000"
    android:widgetCategory="keyguard|home_screen" >

</appwidget-provider>

layout / clock_widget.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/clock_widget"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/widget_hour"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="36sp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=":"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="36sp" />

        <TextView
            android:id="@+id/widget_minute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="36sp" />

    </LinearLayout>

    <TextView
        android:id="@+id/widget_date"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
4

1 に答える 1

1

これはエミュレータでのみ発生するようです。実際のハードウェアでのテストは問題なく動作します。

于 2012-12-15T15:18:39.663 に答える