Android AnalogClock: программирование программных средств

Я делаю приложение аналоговых часов, которое имеет около 15 дизайнов в одном приложении. Одним из способов настройки дизайна было бы создание разных widgetconfigs.XML для каждого проекта, но это забивает устройства с 4.0 +.

Я также подумал о создании активности, которая позволяет изменять дизайн с помощью

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

Но это не позволит установить чертежи для рук... Что еще я могу сделать?

Ответ 1

вы действительно нарисовываете drawables один раз (когда начинается действие), конечно, есть некоторые анимации и многое другое, которые изменяют внешний вид деятельности, но не являются привлекательными вы можете использовать drawable для разных объектов в активности, например, для одного стиля для каждой кнопки, но вы не можете перерисовать.

у вас есть 2 способа сделать этот проект:

1. Использование XML

вы можете сделать 15 различных действий и Intent вы можете переключаться между действиями

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

2. Использование кодов

все, что может быть спроектировано с использованием XML, также может быть записано через java-коды. он требует больше строк, но может быть dynamic, это означает, что вам не нужно делать, если другое для каждого условия; вы просто производите необходимые объекты каждый раз, когда это необходимо.

примеры:

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);