Как в Android плавно переходить от одного цвета к другому? (Как использовать потоки)

Я экспериментировал с программированием для Android уже пару недель, и я пытаюсь заставить работать что-то, что кажется простым, но я думаю, что мне не хватает что-то.

Я пытаюсь сделать так, чтобы фон плавно переходил, скажем, от белого к черному.

Я пробовал несколько вещей, но ни одна из них не работала.

Первое, что я сделал, - это использовал цикл for и метод setBackgroundColor для LinearLayout, изменив значения R, G и B вместе с 0 на 255. Это не работает.

Я могу сделать одно из настройки меняются, но когда я делаю цикл, я получаю только последнее значение. Я думаю, что происходит то, что пользовательский интерфейс блокируется во время выполнения цикла и размораживается, когда цикл заканчивается. Я пробовал вставлять задержки в цикл (уродливые задержки вложенного цикла и Thread.sleep), но все безрезультатно.

Кто-нибудь может дать мне какие-нибудь указания относительно того, как заставить это работать? Нужна ли мне вторая нить, чтобы изменить цвет? У меня смутное представление о потоках, хотя я никогда их не использовал.

Мой пример кода, примерно показывающий то, что я пытаюсь сделать, выглядит следующим образом:

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/screen"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

И мой java-код составляет (0,01 вкл. ...

Я пишу универсальное приложение для iOS (iPad и iPhone) и обнаруживаю, что у меня очень длинные имена классов, которые не могут быть разделены между двумя приложениями:

FamilyViewController_iPhone.h/m
FamilyViewControllerA_iPad.h/m

DetailViewControllerB_iPhone.h/m
DetailViewControllerB_iPad.h/m

И точно так же классы внутри этих ребята, имеют полное имя (включая устройство) в основном для того, чтобы Interface Builder мог легко их использовать.

Я рассматривал что-то вроде AControllerA.h и BControllerA.h, где A = iPhone и B = iPad, но также не в восторге от этой опции.

12196] Каково постоянное соглашение для таких классов в универсальном приложении iOS - или мне (надеюсь) не хватает чего-то, что устраняет эту необходимость?

6
задан Luther Baker 5 March 2011 в 00:43
поделиться