두 가지 색상의 레이아웃 (선형 레이아웃)을 연속적으로 전환하려고하는 앱에서 작업하고 있지만 색상이 예상대로 변경되지 않습니다. 응용 프로그램을 실행할 때 기다렸다가 마지막에 언급 된 색상 만 변경되고 너무 자주 한 번 응용 프로그램이 색상 변경을 시도하자마자 레이아웃이 색상을 변경할 수 없다고 생각됩니다. 앱은 한 번만 색상을 변경할 수 있습니다.두 레이아웃 색상 사이를 반복적으로 뒤집기
아래 코드
flasher.java
package com.tutorial.flasher;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
//import android.os.SystemClock;
import android.widget.LinearLayout;
public class flasher extends Activity {
/** Called when the activity is first created. */
LinearLayout llaLayout;
int a,b = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
llaLayout = (LinearLayout)findViewById(R.id.layo);
for (int i=0;i<4;i++)
{
//SystemClock.sleep(2000);
//llaLayout.buildDrawingCache()
Thread.currentThread();
try
{
Thread.sleep(2000);
}
catch (Exception e)
{
e.notifyAll();
}
llaLayout.setBackgroundColor(Color.parseColor("#0000FF"));
//SystemClock.sleep(2000);
Thread.currentThread();
try
{
Thread.sleep(2000);
}
catch (Exception e)
{
e.notifyAll();
}
llaLayout.setBackgroundColor(Color.parseColor("#FF0000"));
// SystemClock.sleep(2000);
}
}
}
난 단지 레이아웃에 레드 컬러를 얻고있다.
감사합니다, 시드
감사합니다. Activity.runOnUiThread를 통해 UI 관련 함수를 실행하려고했지만 예상대로 작동하지 않았습니다. 이번에는 처음 언급 한 색상 (빨강)을 얻었으며, 여기 코드 스 니펫이 있습니다. setBackground 방법은 아래에 언급 된 섹션에 의해 레이아웃. \t _activity.runOnUiThread (새의 Runnable() { \t 공공 무효 실행() { \t \t llaLayout.setBackgroundColor (Color.parseColor ("#의 FF0000")); \t \t \t} }); \t 감사합니다. Sid – Sid