Android AnalogClock:以编程方式设置drawables

时间:2012-12-15 23:14:25

标签: java android xml widget clock

我正在制作一个模拟时钟应用程序,在一个应用程序中有大约15个设计。设置设计的一种方法是为每个设计创建不同的widgetconfigs.XML,但这会使运行4.0 +的设备混乱。

我还想过设置一个允许使用

更改设计的活动
remoteviews.setInt(R.id.analogClock1, "setDialResource", R.drawable.clock1);

但这不允许设置手绘画......我还能做什么?

1 个答案:

答案 0 :(得分:0)

你实际绘制一次drawables(当活动开始时)当然有一些动画和很多东西改变活动的外观而不是drawables

你可以在活动中为不同的对象使用drawable,比如每个按钮都有一个样式,但你不能重绘。

你有2种方法来做这个项目:

1.使用XML

你可以进行15项不同的活动,Intent可以在活动之间切换

public void method()
{
    Intent i = new Intent(this , Destination.class);
    startActivity(i);
}

2.使用代码

任何可以使用XML设计的东西也可以通过java代码编写。它需要更多的行,但它可以是dynamic,这意味着你不必为每个条件制作if else;您只需在每次需要时生成所需的对象。

的示例:

XML

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
... />

或以编程方式:

Button button = new Button(this); YourView.addview(button);