Android First App, изменение цвета фона из списка указанных цветов - PullRequest
1 голос
/ 28 января 2010

Это мое первое приложение, так что я нашел способ обойти его, немного поэкспериментировал и хотел бы изменить цвет фона на цвет из списка.

В настоящее время загружается белый фон, указанный в strings.xml

<color name="all_white">#FFFFFF</color> 

Используется в main.xml:

android:background="@color/all_white"

В идеале я хотел бы изменить цвет в OnCreate () на цвет по своему выбору. Я пробовал setBackgroundDrawable, но он не работает?

Это мой код:

public class TestActivity extends Activity 
{
 double dimValPercent = 100;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        SetDimLevel(dimValPercent);
        SetBackground();
        return;
    }

    public void SetBackground()
    {
     getWindow().setBackgroundDrawable( new ColorDrawable
       (color.all_blue) );   
     return;
    }



   void SetDimLevel(double dimVal)
   {
        WindowManager.LayoutParams lp = getWindow().getAttributes();
       lp.screenBrightness = (float) (dimVal/ 255.0);
       getWindow().setAttributes(lp);
       return;
   }
}

1 Ответ

1 голос
/ 28 января 2010

В Android у представления есть setBackgroundColor (int) , которое можно использовать для изменения цвета фона. Попробуйте использовать это вместо setBackgroundDrawable (). Я подозреваю, что вам придется делать это и в потоке пользовательского интерфейса, поэтому вам, возможно, придется использовать один из post (Runnable action) методов. Например:

view.post(new Runnable() {
    @Override
    public void run() {
        view.setBackgroundColor(Color.BLACK);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...