安卓模拟时钟:以编程方式设置可绘制对象
我正在制作一个模拟时钟应用程序,该应用程序在一个应用程序中具有大约15种设计。设置设计的一种方法是为每个设计创建不同的设计,但这会使运行4.0 +的设备变得混乱。widgetconfigs.XML
我还想到了设置一个活动,允许使用
remoteviews.setInt(R.id.analogClock1, "setDialResource", R.drawable.clock1);
但这不会允许手绘可绘制物被设置...我还能做些什么?
我正在制作一个模拟时钟应用程序,该应用程序在一个应用程序中具有大约15种设计。设置设计的一种方法是为每个设计创建不同的设计,但这会使运行4.0 +的设备变得混乱。widgetconfigs.XML
我还想到了设置一个活动,允许使用
remoteviews.setInt(R.id.analogClock1, "setDialResource", R.drawable.clock1);
但这不会允许手绘可绘制物被设置...我还能做些什么?
你实际上画了一次可绘制对象(当活动开始时),当然有一些动画和很多东西可以改变活动的外观,但不是可绘制对象,你可以为活动中的不同对象使用可绘制对象,比如每个按钮都有一个样式,但你不能重绘。
你有两种方法可以做这个项目:
1.使用单克隆
您可以进行15个不同的活动,并且通过意图,您可以在活动之间切换
public void method()
{
Intent i = new Intent(this , Destination.class);
startActivity(i);
}
2.使用代码
任何可以使用XL设计的东西也可以通过java代码编写。它需要更多的行,但它可以是动态的,这意味着你不必为每个条件做如果其他;您只需在每次需要时生成所需的对象即可。
例子:
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);