我试图以编程方式更改布局颜色但是相对布局(尝试线性布局但未更改),但无法更改。
同时尝试调试应用程序没有帮助,没有与我的TAG相关的消息。
布局最初打好后,应用程序停了下来。
package com.test.intentdemo;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
//import android.os.SystemClock;
import android.widget.RelativeLayout;
import android.util.*;
import java.lang.Thread;
public class intentDemo extends Activity {
/** Called when the activity is first created. */
RelativeLayout lLayout;
public static final String TAG="MyActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lLayout = (RelativeLayout) findViewById(R.layout.main);
if (Log.isLoggable(TAG,0))
{
Log.e(TAG,"ERROR BEFORE");
Log.i(TAG,"INFO BEFORE");
Log.d(TAG,"DEBUG BEFORE");
lLayout.setBackgroundColor(Color.parseColor("#000000"));
//SystemClock.sleep(2000);
try
{
Thread.currentThread();
Thread.sleep(2000);
}
catch (Exception e)
{
//e.message();
}
Log.e(TAG,"ERROR AFTER");
Log.i(TAG,"INFO AFTER");
Log.d(TAG,"DEBUG AFTER");
}
}
}
答案 0 :(得分:21)
lLayout = (RelativeLayout) findViewById(R.layout.main);
这是错误的。 findViewById
要求ID为View
。因此,请为RelativeLayout
提供ID,例如:
<RelativeLayout
android:id="@+id/the_id"
然后:
lLayout = (RelativeLayout) findViewById(R.id.the_id);
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.RelativeLayout;
public class intentDemo extends Activity {
public static final String TAG="MyActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RelativeLayout lLayout = (RelativeLayout) findViewById(R.layout.the_id);
lLayout.setBackgroundColor(Color.parseColor("#000000"));
}
}
答案 1 :(得分:15)
RelativeLayout lLayout = (RelativeLayout) findViewById(R.layout.the_id);
lLayout.setBackgroundColor(getResources().getColor(R.color.green_color));
答案 2 :(得分:0)
如果您要使用颜色代码-可以
your_layout_name.setBackgroundColor(Color.parseColor("Color Name"));
示例:
linearLayoutInquiryYear.setBackgroundColor(Color.parseColor("#e3e3e3"));