更改模拟时钟小部件的大小?

时间:2012-10-05 14:21:03

标签: android android-widget clock

我在我的活动布局中使用内置的AnalogClock小部件。我想把它做大。调整layout_width和layout_height似乎没有什么区别。有一种简单的方法可以做到这一点吗?

<AnalogClock
    android:id="@+id/analogClock"
    android:layout_width="500dp"
    android:layout_height="500dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" />

3 个答案:

答案 0 :(得分:3)

默认模拟时钟的拨号盘在HDPI中为231 * 231。即使您更多地提到AnalogClock的宽度和高度,这些图像也不会拉伸。要显示更大的AnalogClock,请提供您自己的拨号盘以及具有自定义尺寸的分针和时针。

        <AnalogClock
           android:dial="@drawable/your_dial_pad"
           android:hand_hour="@drawable/your_hour_hand"
           android:hand_minute="@drawable/your_minutes_hand"/>

答案 1 :(得分:3)

您也可以使用

android:scaleX="preferedScale"

 android:scaleY="preferedScale"

preferedScale = 1,2,3 ... n

答案 2 :(得分:0)

我发现以前的答案对我不起作用。我找到了一个简单的解决方只需为时钟的背景创建自己的自定义drawable,并设置android:dial属性。您可以根据需要创建可绘制的绘图。当然,如果你想要你的时钟看起来漂亮,你必须创建两个小时和分钟的drawables。您可以简单地将默认drawable复制到某个地方,并使用图像编辑器调整它们的大小:

<AnalogClock
        android:id="@+id/AnalogClock"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:dial="@drawable/widgetdial_big"
        android:hand_hour="@drawable/widgethour_big"
        android:hand_minute="@drawable/widgetminute_big" />

如果您处理小部件,则必须像这样声明AppWidgetProviderInfo(例如300dip):

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