Android AnalogClock :以编程方式设置可绘制对象

Android AnalogClock : setting drawables programmatically

提问人:QuantumFoam 提问时间:12/16/2012 最后编辑:CatQuantumFoam 更新时间:9/27/2015 访问量:1228

问:

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

我还想到设置一个活动,允许使用

remoteviews.setInt(R.id.analogClock1, "setDialResource", R.drawable.clock1);

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

Java Android XML 部件时钟

评论


答:

0赞 Alir3za3 9/27/2015 #1

您实际上绘制了一次可绘制对象(当活动开始时),当然有一些动画和很多东西会改变活动的外观,但不会更改可绘制对象 您可以对活动中的不同对象使用可绘制对象,例如每个按钮都具有一种样式,但不能重绘。

你有 2 种方法可以完成这个项目:

1.使用XML

您可以进行 15 种不同的活动,并且通过 Intent,您可以在活动之间切换

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

2.使用代码

任何可以使用XML设计的东西也可以通过java代码编写。它需要更多的行,但它可以是动态的,这意味着你不必为每个条件做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);